运维服务小笔记

If not now,when?If not me,who?

十月 22nd, 2013

linux权限介绍之-粘滞键权限t-让文件可读写不可删

572 views, linux, by 川望.

一个系统一般都是有多个账号使用的,而有些目录和文件需要赋予其他用户可读写的权限,比如/tmp/a.tmp

这就有一个问题了,比如A在/tmp目录下放的文件a.tmp,而B也需要有/tmp的权限,他就可以删除这个a.tmp文件;

如果只想让b有读写这个文件的权限,但是没有删除这个文件的权限该怎么办呢?这时候就可以利用t键位,粘着位权限

测试如下:

#切换到a用户下
[root@test tmp]# su a
[a@test tmp]$ ll -d /tmp
drwxrwxrwx 2 root root 4096 Oct 28 23:55 /tmp
#创建a.tm文件并配置任何人都有最大的777权限
[a@test tmp]$ touch a.tm
[a@test tmp]$ chmod 777 a.tm
[a@test tmp]$ ls -l a.tm 
-rwxrwxrwx 1 a a 0 Oct 28 23:55 a.tm
#查看,这时候任何人都可以对a.tm做任何操作
#现在我们对/tmp目录赋予粘着位t权限
[root@test tmp]# chmod +t /tmp
[root@test tmp]# ls -dl /tmp  
#查看权限已经多了一个t
drwxrwxrwt 2 root root 4096 Oct 28 23:59 /tmp
#切换到账号b下,删除a.tm,报错了无法删除
[root@test tmp]# su b
[b@test tmp]$ rm -r a.tm 
rm: cannot remove `a.tm': Operation not permitted
#查看b对a.tm拥有完全权限的,但是也无法删除
[b@test tmp]$ ls -l a.tm 
-rwxrwxrwx 1 a a 0 Oct 28 23:55 a.tm
#测试b对a.tm文件的写入和读取,完全没有问题
[b@test tmp]$ echo b-test >a.tm 
[b@test tmp]$ cat a.tm 
b-test


增加粘滞位:chmod +t /tmp
删除粘滞位:chmod -t /tmp

至此,目的已经达到了,让一个账号对一个文件有读写的权限却无法删除~
备注:拥有t粘着位权限的目录下的文件,除了属主用户外,root用户也可以删除。



Back Top

发表评论

电子邮件地址不会被公开。 必填项已用*标注

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

无觅相关文章插件,快速提升流量