Linux/UNIX的粘滞位

时间:2019-11-20 08:53:25  来源:igfitidea点击:

在Linux中,如果目录设置了粘性位(Sticky Bits),只有文件的所有者可以从目录中删除该文件。
没有粘性位,所有对目录有写访问权的用户都可以删除目录中的任何文件。

在Linux中的一个例子就是 /tmp目录

[root@theitroad ~]# ls -ld /tmp
drwxrwxrwt. 24 root root 4096 Jan  4 22:43 /tmp

权限中的t即表示粘性位。

如何查找设置了粘性位的目录?

在/var/www目录中,查找没有设置粘性位,且可写的目录:

# find /var/www -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print

为了安全,可以使用chmod命令修复其中的目录(请谨慎使用以下命令):

# find /webroot -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print0| xargs -0 chmod +t

给单个目录设置粘性位:

# chmod +t /path/to/dir