linux粘着位权限StickyBIT
一、SBIT粘着位权限的作用
–> 粘着位目前只对目录有效
–> 若普通用户对该目录拥有w和x权限,即普通用户可以在此目录拥有写入权限
–> 如果没有粘着位,因为普通用户用户w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一旦赋予了粘着位,除了root可以删除所有文件外,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件。
例如:
tmp目录的权限是777,也就是任何用户对这个目录里的文件都具有全部权限,包括新建和删除。
但是问题来了,比如a用户在这个目录里新建一个文件还没有编辑完呢,有事回家了,准备等回来继续编辑。这时候b用户进来了,看到里面了a用户建立的文件,不知道有什么用,于是就给删除了,这样就等于出现了管理混乱,每个用户都可以随便删除其他用户的文件。
那么解决的办法就是给tmp目录的其他人身份添加粘着位SBIT权限,那么按照前面SBIT权限的说明,除了root外的任何普通用户在这个目录里都只能删除自己建立的文件,而不能删除其他用户的文件,这样就保证了不会出现混乱情况。
这就是粘着位SBIT权限的作用。
而其实/tmp目录不用我们特别设置SBIT权限的,他默认就本身带有这个权限的,如图:
tmp目录的t权限
看到了吧,其他人身份的权限是rwt,也就是在rwx基础上多了一个t,这个t就是SBIT粘着位权限的意思。
我们来试试是不是确实有这样的效果。
首先我们用用户user1在tmp目录里新建一个文件。
[user1@localhost tmp]
touchceshi1然后我们切换到meiji这个普通用户[user1@localhosttmp]
su meiji
然后我们来用删除命令删除刚才user1建立的文件看看发生了什么?如图:
linux特殊权限SBIT
是不是不能删除这个文件啊,明明tmp目录具有777权限,为什么还不能删除这个文件呢?因为这个目录其实是1777权限,也就是具有粘着位权限的。
二、SBIT的设置与取消
那么粘着位的设置是不会和SUID ,SGID那么危险的。
只要我们有需要我们就可以新建一个具有1777权限的目录来作为多用户可以共享的目录,也挺方便的。
1、设置粘着位
A、chmod 1777 目录名
B、chmod o+t 目录名
2、删除粘着位
A、chmod 777 目录名
B、chmod o-t 目录名
这个非常简单,就不给大家演示了,大家只需要注意t权限只能给目录设置,而且只能用root权限来设置。
本教程原创作者:mageo,出自每集博客,尊重作者劳动,转载请注明出处:http://www.ql2015.cn,谢谢!