文件权限的表示方式

在 Linux 或 Unix 文件系统中,文件权限是通过一组数字或字母组合来表示的。权限分为三种类型:读(Read)、写(Write)和执行(Execute)。每种类型的权限可以用一个数字或一个字母来表示。


数字表示法

使用三位数字来表示权限,每一位数字代表一组权限的总和:

  • 第 1 位数字表示文件所有者的权限
  • 第 2 位数字表示文件所属组的权限
  • 第 3 位数字表示其他用户的权限

对于每一组权限,数字是由以下值相加得到的:

  • 读权限(R):4
  • 写权限(W):2
  • 执行权限(X):1

例如 777,第一个 7 表示所有者的权限,第二个 7 表示用户组的权限,第三个 7 表示其他用户的权限。

  • 7 表示可执行、读取、写入
  • 5 表示可执行、读取,不可写入
字母表示法

字母表示法使用 9 个字符来表示权限,每个字符代表一种权限:

  • 第 1 位到第 3 位表示文件所有者的权限
  • 第 4 位到第 6 位表示文件所属组的权限
  • 第 7 位到第 9 位表示其他用户的权限

对于每一组权限,字符由以下值表示:

  • 读权限(R)
  • 写权限(W)
  • 执行权限(X)
  • 如果没有相应的权限,则使用连字符 - 来表示

例如,-rwxr-xr-- 表示:

  • 文件所有者有读、写和执行权限(rwx)
  • 文件所属组有读和执行权限(r-x)
  • 其他用户只有读权限(r--)

前面在 /usr/local/bin 中出现的 lrwxr-xr-x 的含义是:

  • l: 表示这是一个符号链接(symbolic link),即软链接。表示该文件是一个指向另一个文件的引用,而不是实际的数据文件。
  • 文件所有者可以读、写和执行此链接
  • 属于同一组的用户、其他用户,都只能读和执行此链接

提示:在 Linux 中,可以使用 ls -l filename 命令查看文件的详细信息,包括权限信息。


chmod 命令

chmod 命令用于修改文件权限。语法如下:

chmod <permissions> <filename>
  • 1.

chmod 命令的八进制表示方式:

#

权限

rwx

二进制

备注

0

无权限

---

000


1

只执行

--x

001


2

只写

-w-

010


3

写 + 执行

-wx

011

1 + 2 = 3

4

只读

r--

100


5

读 + 执行

r-x

101

1 + 4 = 5

6

读 + 写

rw-

110

2 + 4 = 6

7

读 + 写 + 执行

rwx

111

1 + 2 + 4 = 7

例如:

  • chmod 777 filename -> -rwxrwxrwx,所有人都可读、可写、可执行
  • chmod 755 filename -> -rwxr-xr-x,所有者可读、可写、可执行,用户组和其他人可读、可执行