1.产生粘滞位的原因:
Linux下有一个用于存放临时文件的目录 /temp,每一个用户产生的临时文件都存放在 /temp目录下面,而且每个用户都对于这些文件具有写权限,为了防止用户对于除自己外的其他用户的文件进行删除操作,所以产生了粘滞位。
2.什么是粘滞位?
上图所示的t就是所谓的粘滞位;
对于权限为777的目录设置粘滞位以后,每个用户只能删除自己创建的文件,可以保护用户的文件安全。
一般的,在Linux系统中用户只要对某个目录具备w写入权限,便可以删除该目录中的任何文件,而不论这个文件的权限是什么。比较典型的例⼦就是“/tmp”、 “/var/tmp”目录。这两个目录作为Linux系统的临时文件夹,权限为“rwxrwxrwx”,即允许任意用户、任意程序在该目录中进行创建、删除、移动文件或目录等操作。粘滞位权限便是针对此种情况设置,当目录被设置了粘滞位权限以后,即便用户对该目录有写入权限,也不能删除该目录中其他用户的文件数据,而是只有该文件的所有者和root用户才有权将其删除。设置了粘滞位之后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入、删除数据,但是禁止随意删除其他用户的数据。需要注意的是,粘滞位权限只能针对目录设置,对于文件无效。
3、粘滞位的设置及其作用
上图所示chmod +t dir 就是所设置的粘滞位。有些人也把粘滞位称为粘着位。
粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,
“o+t” ------ 权限模式用于添加粘滞位权限。
“o-t” ------ 权限模式用于移除粘滞位权限。
设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“t”。
4、黏滞位的运用场景
粘滞位权限在生产环境中也被广泛应用,当需要为用户提供一个开放目录而又不希望造成管理混乱时,通过为目录设置粘滞位权限便可以解决问题。