Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,而且每个用户都对于这些文件具有写权限,为了防止用户对于除自己外的其他用户的文件进行删除操作,所以产生了粘滞位。
我们先来看以下的一张图
首先我们先把当前的工作用户切换成root,然后在root下创建了一个code1目录,并在其中创建了一个文件file,创建完退出后,将code1目录的权限改为777,之后切换成普通用户,之后我们进入到code1目录下,我们发现可以删除其中的file文件。那么问题就来了,对于一个目录,任何具有该目录写和执行的用户都可以删除和移动该目录中的文件(这是很可怕的),为了防止其他用户删除我们目录下的文件,因此我们需要设置粘滞位。
如上图所示的就是粘滞位,对于每个权限为777的目录设置粘滞位以后,每个用户都只能删除自己创建的文件,可以保护用户的文件安全。但是即使设置了粘滞位,只要该用户具有写权限,就可以在该目录下创建文件
那么问题就来了,我们如何设置粘滞位呢?
我们用普通用户创建了一个权限为777的目录code,之后我们将给这个目录设置粘滞位
可以注意到,现在code目录就已经有了粘滞位了,当目录粘滞位设置成功之后,只有自己和root才可以对此目录内的文件进行删除和移动操作。