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位权限
受教了,还不知道有个特殊权限呢~都只知道chmod 777 呵呵~