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特殊权限中的第三个(另外两个是SetUID和SetGID),定义为:权限为777的目录设置粘着位t以后,具有写权限每个用户都可以在目录下创建文件,不同的是每个用户只能删除自己是所有者的文件,也就是说只能删除自己创建的文件。
如何给一个目录赋上这个权限?
chmod o+t /test # 追加t权限
或 chmod 1777 /test #在777权限基础上再加上t权限
那么原来的执行标志x到哪里去了呢? 系统是这样规定的, 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)
本文出自 “艺晨光的博客” 博客,谢绝转载!
原文地址:http://ycgit.blog.51cto.com/8590215/1406909