1.特殊权限set_uid
set_uid:为普通用户临时使用文件所有者的权限(相当于借用最高权限,且前提该文件必须是二进制文件,也必须有x权限。)
如passwd命令就是有此权限,显示为s
如普通用户(用su命令切换用户)没有ls -l /root/的权限。在root用户下给ls命令设置set_uid权限(chmod u+s /usr/bin/ls,u表示user),然后普通用户就可以借用root权限的ls命令查看,不过root文件本身权限没有变。
如果要去掉set_uid的权限,输入# chmod u-s /usr/bin/ls;或者输入# chmod u=rws /usr/bin/ls,权限变成S,这是因为没有x权限,实际上不受影响使用。
还可再加上x权限
2.特殊权限set_gid
该权限不仅可以作用在文件上,也可以作用在目录上 ,当作用在文件上时,其功能与set_uid一样,使文件在执行阶段具有文件所属组的权限(chmod g+s /usr/bin/ls或chmod g-s /usr/bin/ls,g表示group,s为是权限)。
当作用在目录上时候,创建修改为gid目录的子目录或子文件时,其子文件或子目录和该目录的所属组保持一致。
3.特殊权限stick_bit
防删除位,文件是否能被用户删除,主要看用户对文件所在的目录是否具有写权限,如果没有写权限,就不能删除该目录下的文件,也不能添加新的文件。
如果想让用户有添加新文件但是不能删除别的用户的文件,则需要改属性,设置该属性后,就算用户对目录具有写权限,也不能删除其他用户的文件。(命令:chmod o+t /tmp/1,多用于目录权限,o表示other)