linux权限介绍之-粘滞键权限t-让文件可读写不可删
cnhejia
摘要:一个系统一般都是有多个账号使用的,而有些目录和文件需要赋予其他用户可读写的权限,比如/tmp/a.tmp这就有一个问题了,比如A在/tmp目录下放的文件a.tmp,而B也需要有/tmp的权限,他就可以删除这个a.
一个系统一般都是有多个账号使用的,而有些目录和文件需要赋予其他用户可读写的权限,比如/tmp/a.tmp
这就有一个问题了,比如A在/tmp目录下放的文件a.tmp,而B也需要有/tmp的权限,他就可以删除这个a.tmp文件;
如果只想让b有读写这个文件的权限,但是没有删除这个文件的权限该怎么办呢?这时候就可以利用t键位,粘着位权限
测试如下:
01#切换到a用户下
02[root@testtmp]#sua
03[a@testtmp]$ll-d/tmp
04drwxrwxrwx2rootroot4096Oct2823:55/tmp
05#创建a.tm文件并配置任何人都有最大的777权限
06[a@testtmp]$toucha.tm
07[a@testtmp]$chmod777a.tm
08[a@testtmp]$ls-la.tm
09-rwxrwxrwx1aa0Oct2823:55a.tm
10#查看,这时候任何人都可以对a.tm做任何操作
01#现在我们对/tmp目录赋予粘着位t权限
02[root@testtmp]#chmod+t/tmp
03[root@testtmp]#ls-dl/tmp
04#查看权限已经多了一个t
05drwxrwxrwt2rootroot4096Oct2823:59/tmp
06#切换到账号b下,删除a.tm,报错了无法删除
07[root@testtmp]#sub
08[b@testtmp]$rm-ra.tm
09rm:cannotremove`a.tm':Operationnotpermitted
10#查看b对a.tm拥有完全权限的,但是也无法删除
11[b@testtmp]$ls-la.tm
12-rwxrwxrwx1aa0Oct2823:55a.tm
13#测试b对a.tm文件的写入和读取,完全没有问题
14[b@testtmp]$echob-test>a.tm
15[b@testtmp]$cata.tm
16b-test
17
18
19增加粘滞位:chmod+t/tmp
20删除粘滞位:chmod-t/tmp
至此,目的已经达到了,让一个账号对一个文件有读写的权限却无法删除~
备注:拥有t粘着位权限的目录下的文件,除了属主用户外,root用户也可以删除。