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
2
chmod 755 file 
chmod rwxr-xr-x 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