一、什么是粘滞位
今天给大家介绍的是linux下的粘滞位(sticky bit),那么什么是粘滞位呢?下面便个大家介绍一下。
粘滞位:
如果用户对目录有写的权限,则可以删除其中的文件和字目录,即使用户不是这些文件的所有者,而且也没有读和写的权限。粘滞位出现在执行许可的位置上,用t来表示。设置了该位后,其他用户就不可以删除不属于它的文件和目录。但是该目录下的目录并不继承该权限,要再设置才可以使用。
二、粘滞位产生的原因
linux下有一个存放临时文件的目录/temp,每一个用户产生的临时文件就放在这个/temp里面。而且每个用户都对这些文件具有写权限,为了防止用户对除了自己外其他用户的文件删除,所以就产生了粘滞位。
三、粘滞位是什么?
我们先创建一个目录test,给它权限777
我们用root的身份在test目录下创建一个文件file1;
然后再以普通用户的身份去删除这个文件,file1。我们可以看见这样在root下创建的file1是可以在普通用户下被删除的。
从上面局可以看出,普通用户的身份可以删除test/file1的文件(我实验过在express下的文件在普通用户下是删除不了的,因为test的权限是777)
粘滞位就是为了解决这种情况的,即使用户对该目录有写的权限,也不能去删除这个文件。这样可以保护一些文件被误删了。只用该文件的所有者和root才可以对改文件具有删除的权限。
对test目录设置了粘滞位
当一个目录被设置为粘滞位时,该目录下的文件只能用:
1、超级管理员删除
2、目录所有者删除
3、文件的所有者删除