s权限(suid、nosuid、sgid)、t权限(Sticky,粘滞位)

1.概述

s权限:强制位,包括suid、sgid

t权限:粘滞位,包括sticky

img

S_ISUID只能用于二进制可执行文件,shell脚本不能添加该权限。

S_ISGID可用于二进制可执行文件和目录。

4:SUID

2:SGID

1:VTX 粘滞位

2.表示

1)s权限位:所属用户的S_IXUSR(x位)为S_ISUID/S_ISGID所共用,当S_IXUSR和S_ISUID/S_ISGID共存时,用小写s表示,当只设置了S_ISUID/S_ISGID时,用大写S表示:

1
2
[_ rws ___ ___]  //S_IXUSR和S_ISUID均具备
[_ rwS ___ ___] //只具备S_ISUID

2)t权限位:

所属用户的S_IXOTH(x位)为S_ISVTX所共用,当S_IXOTH和S_ISVTX共存时,用小写t表示,当只设置了S_ISVTX时,用大写T表示:

1
2
[_ ___ ___ rwt]  //S_IXOTH和S_ISVTX均具备
[_ ___ ___ rwT] //只具备S_ISVTX

3.修改方法

1
2
3
chmod u-s test //移除设置用户ID位
chmod g-s test //移除设置组ID位
chmod -t test //移除粘着位

4.总结

s或S(SUID/SGID,Set UID/GID):

可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。

t或T(Sticky):

/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。