简述粘滞位
在我的上一篇博客中曾提到了Linux中的权限问题,有权限就意味着我们需要去设置权限,但是当我们设定权限的时候有时候需要考虑的问题确是很多的,我们来假设一种情况:有没有可能我们需要给定一个用户能够写入和修改该目录的权限,但是我们并不想给予该用户能够删除该目录的权限?这时我们是给它什么权限呢?是只读只写还是只运行呢?我们发现我们没有办法来达到我们想要的目的,此时linux给了我们一种更好的方法,就是粘滞位。
粘滞位:粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,也只能针对⽬录设置,对于⽂件⽆效。则设置了粘滞位后,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。
当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,就可以达到我们刚才想要达到的目的,允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据。
粘滞位的使用
粘滞位的使用十分简单,我们只需要使用我们上次设置权限所提到的chmod命令将other的权限中的可执行x修改为t即可。在这里我们需要注意的一点是,粘滞位只针对目录,对于文件来说是无效的。
我们明显的可以看到cata2目录的other权限变为t。
此时我们在这个目录下创建一个叫haha的文件,为了明确表示该修改操作是和权限无关的我们把haha文件的权限修改为777.我们使用root来创建该文件,然后我们切换用户来删除它,发现提示权限不够
综上所述,粘滞位对于我们的生产生活中是一个十分好用和灵活的设置,便于我们对于liunx下的用户的管理。