Linux文件权限124

权限字符

1
drwxrwxrwx

拆分为4部分,d rwx rwx rwx,分别表示:文件类型、属主权限(文件拥有者)、属组权限(与文件拥有者同用户组的其他用户)、其他用户组用户权限

权限具体意义和数值:

  • x 可执行 1
  • w 可写 2
  • r 可读 4

使用3者数值的和,表示一个用户的权限。比如某个文件的权限为 777,代表所有用户对该都具有读、写、执行的三种权限。

例如 755

  • 属主 读、写、执行 1+2+4
  • 属组 读、执行 1+4
  • 其他 读、执行 1+4

为何是 1 2 4 表示

  1. 1、2、4使用2进制表示很方便
  2. 2进制表示方便对权限的验证

要验证用户是否拥有某个权限,只需判断 用户权限值 &(与运算) 权限数值 的结果是否不为 0。

  • 例如:权限值为7:

7&1=1 != 0 表示拥有 执行 权限

1
2
3
4
5
0000 00111
----------
0000 00001
=
0000 00001 = 1 != 0

7&2=2 != 0 表示拥有 写 权限

1
2
3
4
5
0000 00111
----------
0000 00010
=
0000 00010 =2 !=0

7&4=4 !=0 表示拥有 读 权限

  • 权限值为5:

5&1=1 !=0 拥有 执行 权限

5&2=0 ==0 没有 写 权限

1
2
3
4
5
0000 00101
----------
0000 00010
=
0000 00000 = 0 == 0 => 无该权限

5&4=4 != 0 拥有 读 权限

赏杯咖啡 🍵 Donate