Linux中有一个存放临时文件的目录/tmp(类似于Windows中的temp目录),每个用户产生的临时文件都存放在此目录下,也就是说每个用户对/tmp目录都应该有写权限(否则无法拷贝生成文件),这样造成一个问题,比如,小王/tmp目录下创建了一个文件,张看着不爽就可以删掉,这如何控制?  其实,这种情况永远都不会发生,因为/tmp目录有一个特殊的权限标记:


#ls -ld /tmp


drwxrwxrwt 5 root root 4096 May 24 13:55 /tmp


   瞧见那个rwx权限最后的“t”了没,那个神奇的“t”就是粘着位t(有的资料中文也称为粘滞位),是Linux特殊权限中的第三个(另外两个是SetUIDSetGID),定义为:权限为777的目录设置粘着位t以后,具有写权限每个用户都可以在目录下创建文件,不同的是每个用户只能删除自己是所有者的文件,也就是说只能删除自己创建的文件。


如何给一个目录赋上这个权限?


chmod o+t /test   # 追加t权限


chmod 1777 /test #777权限基础上再加上t权限


那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)


为系统安全,此目录可不赋予执行权限,但读写权限不能禁止,否则会影响用户登录。

chmod -R 1666 /tmp