Linux文件或目录权限说明
在 Linux 系统中,文件或目录的权限通常用字符 rwx 来表示,同时也可以用数字来表示,比如 755 。
权限说明
rwx 分别代表读(Read)、写(Write)、执行(Execute)权限:
r
表示可读权限,允许读取文件的内容或列出目录中的文件。w
表示可写权限,允许修改文件的内容或在目录中创建、删除、重命名文件。x
表示可执行权限,对于文件,允许执行该文件;对于目录,允许进入该目录。
每个权限位可以用数字来表示:
r
对应数字4
w
对应数字2
x
对应数字1
那么三位数字就分别对应了文件 所有者(User)、所属组(Group)和 其他用户(Other)的权限。
例子
例如,权限 755 可以这样解读:
- 第一位数字
7
表示所有者的权限,是4 + 2 + 1
,即所有者具有读、写和执行的权限。 - 第二位数字
5
表示所属组的权限,是4 + 1
,即所属组具有读和执行的权限。 - 第三位数字
5
表示其他用户的权限,同样是4 + 1
,即其他用户具有读和执行的权限。
再举几个例子:
- 权限
644
:所有者具有读和写的权限(4 + 2 = 6
),所属组和其他用户都只有读的权限(4)。 - 权限
700
:所有者具有所有权限,所属组和其他用户没有任何权限。
通过这种数字表示权限的方式,可以更简洁和方便地设置和理解文件或目录的权限。
命令
chmod 命令用于更改文件或目录的权限。
语法:
1 | chmod [选项] 权限模式 文件名/目录名 |
常用选项:
- -R :递归地更改目录及其子目录和文件的权限。
权限模式:
可以使用数字表示法(如前面提到的 755 ),也可以使用字符表示法(如 rwxr-xr-x )。
权限模式中的用户类型
u
表示所有者(User)g
表示所属组(Group)o
表示其他用户(Other)a
表示表所有用户(All)
示例
下面这两个命令是一样的效果,
1 | chmod 755 file |
为文件 file.sh 的所有者添加执行权限
1 | chmod u+x file.sh |
去掉目录 dir 所属组(Group)的写权限
1 | chmod g-w dir |
为文件 file 的其他用户(Other)添加读权限
1 | chmod o+r file |
为所有用户添加读权限
1 | chmod a+r file.txt |