time:18.03.26
以以下2个典型的文件及目录来分析:
ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jan 29 2014 /usr/bin/passwd
ll -d /tmp
drwxrwxrwt. 23 root root 4096 Mar 25 23:53 /tmp
SUID
当s
出现在文件拥有者的x
权限上时,如我们上面看到的/usr/bin/passwd
这个文件的权限时-rwsr-xr-x
,此时就被称为SET UID
简称SUID
.
SUID权限仅对二进制可执行文件有效
执行者对于该文件具有x的权限
本权限仅在执行该文件的过程中有效
执行者将具有该文件拥有者的权限
举例:
普通用户使用passwd
命令修改自己的密码, 实际上最终更改的是/etc/passwd
文件.该文件权限如下:
ll /etc/passwd
-rw-r--r--. 1 root root 2394 Mar 25 23:17 /etc/passwd
可以看到只有root
用户才有写权限, 因为/usr/bin/passwd
设置了suid
权限位,普通用户执行此命令时临时拥有root
权限以间接地修改/etc/passwd
从而修改自己的密码.
设置方法chmod u+s <文件或目录>
SGID
当s
出现在目录或文件的所有组的x
权限上时称为SET GID
简称SGID
设置方法chmod g+s <文件或目录>
SBIT
当t
出现在目录的其他用户的x
权限上时, 称为Sticky Bit
简称SBIT
[仅对目录有效, 对文件无效]
作用:
当用户在该目录下建立文件或目录时,仅有自己与
root
才有权力删除.
最具有代表的就是/tmp
目录,任何人都可以在/tmp
内增加、修改文件(因为权限全是rwx
),但仅有该文件/目录建立者与root
能够删除自己的目录或文件
设置方法chmod o+t <目录>
若特殊权限未设置成功则显示为大写字母 {S, S, T}