红联Linux门户
Linux帮助

文件的SUID、SGID、Sticky属性

发布时间:2015-05-03 21:35:08来源:linux网站作者:Gino

SUID 属性
SUID属性一般用在可执行文件上,当用户执行该文件时,会临时拥有该执行文件的所有者权限。使用”ls -l” 或者”ll” 命令浏览文件时,如果可执行文件所有者权限的第三位是一个小写的”s”,就表明该执行文件拥有SUID属性。比如/usr/bin/passwd文件。

$ ll /usr/bin/passwd
-rwsr-xr-x 1 root root 41284 4月   9  2012 /usr/bin/passwd


SGID属性
SGID属性应用在目录上时,该目录中所建立的文件或子目录的拥有组都会是该目录的拥有组。当SGID属性应用在可执行文件上时,其他用户在使用执行文件时就会临时拥有该执行文件的拥有组权限。在使用”ls -l” 或者”ll” 命令浏览目录时,如果拥有组权限的第三位是一个小写的”s”,就表明该执行文件或者目录拥有SGID属性。


Sticky Bit 属性
Sticky属性只能应用在目录,当目录拥有Sticky属性,所有在该目录中的文件或子目录无论是什么权限,只有文件或者子目录所有者和root用户能做删除动作。在使用”ls -l”或者”ll”命令浏览目录时,如果其他用户权限的第三位是一个小写的”t”,就表明该执行文件或者目录拥有Sticky属性。

注意:linux系统规定,如果原本该位上有x,则这些属性显示问小写字母(有效),否则显示大写字母(无效)


配置SUID、SGID、Sticky属性

可以使用字符配置(s 表示SUID和SGID,t表示Sticky)
如:

chmod u+s test_file    #给文件增加SUID属性
chmod g+s test_dir     #给目录增加SGID属性
chmod o+t test_dir     #给目录增加Sticky属性

还可以用数字的方式配置(4表示SUID,2表示SGID,1表示Sticky)
如:

chmod 4555 test_file    #给文件增加SUID属性
chmod 2555 test_file    #给文件增加SGID属性
chmod 1555 test_dir     #给文件增加Sticky属性


相关文章:
Linux内核学习笔记:uid之ruid,euid,suid:http://www.linuxdiyf.com/linux/5950.html

Linux的特殊权限SUID、SGID和SBIT:http://www.linuxdiyf.com/linux/5251.html

Linux SUID/SGID/SBIT权限:http://www.linuxdiyf.com/linux/4836.html