- set UID(SUID)
当s 这个标志出现在文件拥有者的 x 权限上时,例如 /usr/bin/passwd 这个文件的权限状态:『-rwsr-xr-x』,此时就被称为 Set UID,简称为 SUID 的特殊权限。 那么 SUID 的权限对于一个档案的特殊功能是什么呢?基本上 SUID 有这样的限制不与能:
- SUID 权限仅对二进制程序(binary program)有效;
- 执行者对于该程序需要具有 x 的可执行权限;
- 本权限仅在执行该程序的过程中有效 (run-time)
执行者将具有该程序拥有者 (owner) 的权限
另外,SUID 仅可用在 binary program 上, 不能够用在 shell script 上面!这是因为 shell script 只是
是将很多的 binary 执行文件叫进来执行而已!所以 SUID 的权限部分,还是得要看 shell script 呼叫进来
的程序的设定, 而不是 shell script 本身。当然,SUID 对于目录也是无效的,-
Set GID
当s 标志在档案拥有者的 x 项目为 SUID,那 s 在群组的x时则称为 Set GID, SGID[suroots@192 ~]$ ll /usr/bin/locate
-rwx–s–x. 1 root slocate 40512 11月 5 2016 /usr/bin/locate =>s在群组上称为sgid;
SGID功能
* SGID 对二进制程序有用;
* 程序执行者对亍该程序来说,需具备 x 的权限;
* 执行者在执行癿过程中将会获得该程序群组的支持!
当一个
目录设定了 SGID 的权限后,他将具有如下癿功能
* 用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
- 用户在此目录下的有效群组(effective group)将会变成该目的群组;
- 若用户在此目目录下具有w的权限(可以新建档案),则使用者所建立的新档案,该新档案的群组与此目的的群组相同。
[suroots@192 test]$ mkdir yu
[suroots@192 test]$ sudo chmod -R g+s yu
[suroots@192 test]#ll
drwxrwsr-x. 2 suroots suroots 6 10月 12 20:48 yu
- Sticky Bit
这个 Sticky Bit, SBIT 目前只针对目录有效,对于档案已经没有效果了。 SBIT 对于目录;- 当用户对于此目录具有 w, x 权限,亦即具有写入癿权限时;
+ 当用户在该目录下建立档案或目录时,仅有自己与 root 才有权力删除该档案
- SUID/SGID/SBIT 权限设定
r=4,w=2,x=1
chmod 755 ease 表示为user group others设定权限
那么如果在这三个数字的前再加上一个数的话,最前面的那个数字就代表这几个权限了
chmod 4755 xx 前面4代表 SUID
- 4代表 SUID
- 2代表 SGID
- 1代表 SBIT
[suroots@192 test]$ sudo chmod 4755 t
[suroots@192 test]$ ll
-rwsr-xr-x. 1 root root 0 10月 9 22:05 t
user, group 以及 others 都
没有 x 这个可执行的标志,所以,这个 S, T 代表的就是『空的』啦!
妳也可以透过符号法来处理:
suroots@192 tt]$ sudo chmod u+s uy
[suroots@192 tt]$ ll
-rwSr–r–. 1 suroots suroots 0 10月 12 21:15 uy