Linux中的权限安排

二. 档案特殊权限: SUID(4)/SGID(2)/Sticky Bit(1)

linux权限用3数字表示时,特殊权限数字位于 普通的3位数字前,从而变为4位数字权限,如4775 ,其中红色部分为特殊权限。

特殊权限仅仅是对普通权限的小小补充,所以管理的命令和普通权限相同。

user@localhost:~$ ls -lh
drwxr-xr-x 2 user users 48 05-09 20:27 abc
user@localhost:~$ chmod 2755 abc
user@localhost: ll -lh
drwxr-sr-x 2 user users 48 05-09 20:27 abc

那么特殊权限到底有什么含义呢?请看下面的表格(其中如果特殊权限加载的位置上有x权限,则先判断x权限)

文件意义 file 目录意义 directory 命令 command File mode 权限以x优先
SUID 只能用在二进位制档案(binary file), 使用者以文件拥有者的权力执行此档案. null chmod u+s
chmod 4755
s = x + SUID
S = – + SUID
SGID 如果 SGID 是设定在 binary file 上面,则不论使用者是谁,在执行该程式的时候, 他的有效群组(effective group) 将会变成该程式的群组所有人 (group id)。
如果 SGID 是设定在 A 目录上面,则在该 A 目录内所建立的档案或目录的 group ,将会是 此 A 目录的 group !
chmod g+s
chmod 2771
s = x + SGID
S = – + SGID
Sticky Bit null 在具有 SBit 的目录下,使用者若在该目录下具有 w 及 x 的权限, 则当使用者在该目录下建立档案或目录时,只有档案拥有者与root 才有权力删除。(/tmp目录即使如此) chmod o+t
chmod 1777
t = x + sticky
T = – + sticky

接上一篇 基本的9位权限