【Linux笔记】文件的权限

Linux是多用户操作系统,不同的用户对于文件的操作拥有不同的权限。我们可以使用 ls -l 命令列出当前目录下的文件及目录的详细信息:

我们重点看前10个字符,如 hello 文件详细信息中的前10个字符为 -rw-rw-rw- 。这10个字符的说明为:

其中,第一个字符表示这个对象的类型,如:

为 d 则是目录
为 - 则是文件;
为 l 则是链接文档(link file);
为 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
为 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

后面的9个字符,每3个字符为一组,且为 『rwx』的组合,且权限的顺序是固定的。其中 r 代表读权限, w 代表写权限, x 代表执行权限,若没有哪一个权限,则用 - 替代相应的位置。

第2-4个字符确定属主(该文件的所有者)拥有该文件的权限。第5-7个字符确定属组(所有者的同组用户)拥有该文件的权限。第8-10个字符确定其他用户拥有该文件的权限。

所以以上的 hello 的前10个字符 -rw-rw-rw- 代表的意思为:hello是个文件;hello的属主具有读、写权限,没有执行权限;hello的属组具有读、写权限,没有执行权限;其他用户组对与hello文件有读、写权限,没有执行权限。

1、更改权限

权限是可以更改的,我们可以使用 chmod (change mode) 命令来改变文件或目录的访问权限。有两种表示方式,一种是使用符号的方式,另一种是使用数字的方式。

Linux文件的基本权限就有九个,分别是user/group/others三种身份各有自己的read/write/execute权限。

(1)使用符号改变文件权限

格式为:chmod [身份] [+、-、=] [r、w、x] [文件或目录]

其中,使用 u、g、o 三种用户身份,除此,还可以使用 a 表示所有身份。符号+ 表示增加权限,符号 - 表示删除权限,符号 = 表示指定权限。如:

我们的 hello 文件是由hello.c编译生成的可执行文件,但是当前用户身份并没有可执行权限,因此运行该文件是出现“权限不够”的警告。我们可以使用命令:

chmod u+x hello

来增加当前用户对hello文件的执行权限。结果如下:

(2)使用数字改变文件权限

除了使用符号来表示权限,还可以使用数字来表示文件或目录权限。其中:

r:用数字 4 表示
w:用数字 2 表示
x:用数字 1 表示

每个身份的权限都是这三个数字相加,如当前hello文件的权限为 -rwxrw-rw- ,那么就是:

u=rwx=4+2+1=7
g=rw-=4+2+0=6
o=rwx=4+2+0=6

使用数字的方式改变文件或目录属性的命令格式为:

chmod ugo [文件或目录]

这里的 ugo 就是我们每一身份权限的数字表示。

例如:当我们要把hello文件所有身份的权限都改为可读、可写、可执行时,可以执行以下命令:

chmod 777 hello

2、更改文件所有者与所属组

文件的所有者与所属组是可以更改的,使用的命令分别是 chown (change owner)、 chgrp (change group)。格式为:

更改所有者:chown [参数选项] [文件]
更改所属组:chgrp [参数选项] [文件]

例如:把 hello 文件的所有者与所属组都改为 win:

以上命令就是关于文件权限的一点笔记,如有错误,欢迎指出。

(0)

相关推荐

  • Linux命令详解之–chmod命令

    在Linux中,一般使用chmod命令来修改文件的属性. 利用 chmod 可以藉以控制文件如何被他人所调用.此命令所有使用者都可使用. 一.Linux chmod命令语法 Linux chmod 命 ...

  • Linux 文件基本属性及修改

    Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限. 为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在 Linux ...

  • linux 系统 chown设置文件权限

    一.相关命令sudo groupadd dnsmasqsudo chown enadmin:enadmin test.txt二.过程~/test$ ls -l-rw-r--r-- 1 root roo ...

  • Linux笔记【007】| 文件/文件夹属性设置

    一.不同用户之间的切换 上一章介绍了用户和用户组,没有介绍不同用户之间的切换,这里介绍一下su命令,用来切换用户,其实很简单,命令是[su 用户名],之前一直都是在root用户下操作,你是root用户 ...

  • Linux普通文件权限属性有哪些?linux运维学习指南

    Linux普通文件权限属性有哪些?随着互联网技术的发展,Linux逐步成为了较为热门的职业岗位技术,受到越来越多的企业和个人的喜爱.目前市场上Linux运维技术人才相对短缺,学习Linux运维的人们越 ...

  • Linux笔记【004】| 文件/文件夹的基本操作命令

    一.文件操作命令 1.创建 命令:touch 语法:#touch 文件的名字文件名可以是一个完整的路径 如果后面的参数文件名指定了路径,则表示在指定的路径下创建:如果只是传递一个文件名,则表示在当前目 ...

  • 【Linux笔记】文件及目录管理命令

    往期资料  == 菜单栏下有更多资料 资源分享 | 嵌入式相关 资源分享 | 编程语言类 资源分享 | Linux相关资料 资源分享 | 数据结构与算法 前言 之前分享的Cygwin是一个在windo ...

  • 【Linux笔记】Windows与Linux文件互传

    WinSCP工具 WinSCP是是一款开源的SFTP客户端,运行于系统下,遵照GPL发布.WinSCP除了SFTP,还支持SSH.SCP.WinSCP具有FTP的文件传输功能,又比FTP更加具有安全性 ...

  • centos的安装与配置,Linux下基本命令、权限控制,解压缩文件以及软件的安装与卸载

    centos安装与网络配置 关机:shutdown -h now 重启:shutdown -r now 或 reboot linux目录结构与操作命令 使用ls命令查看目录结构 目录查看: ls [- ...

  • linux下,文件的权限和数字对应关系详解

    命令 chmod ABC file 其中A.B.C各为一个数字,分别表示User.Group.及Other的权限. A.B.C这三个数字如果各自转换成由"0"."1&qu ...

  • 【竺】Linux笔记2——netstat命令

    netstat 功能说明:显示网络状态. 语 法:netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>][--ip] 补充说明:利用netstat指令可让 ...

  • 【竺】Linux笔记3——ps -ef|grep详解

    ps命令将某个进程显示出来 grep命令是查找 中间的|是管道命令 是指ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具, ...