linux-粘滞位使用
粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,
也只能针对⽬录设置,对于⽂件⽆效。则设置了粘滞位后,只有目录内文件的所有者或者root才可以删除或移动
该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应
用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。
在Linux系统中⽐较典型的例⼦就是“/tmp”、 “/var/tmp”⽬录。这两个⽬录作为Linux系统的临时⽂件
夹,权限为“rwxrwxrwx”,即允许任意⽤户、任意程序在该⽬录中进⾏创建、删除、移动⽂件或⼦⽬录等操作。
然⽽试想⼀下,若任意⼀个普通⽤户都能够删除系统服务运⾏中使⽤的临时⽂件,将造成什么结果?
粘滞位权限便是针对此种情况设置,当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不
能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,
正好可以保持⼀种动态的平衡:允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据。
需要注意的是, 粘滞位权限只能针对⽬录设置,对于⽂件⽆效。
设置了粘滞位权限的⽬录,使⽤ls命令查看其属性时,其他⽤户权限处的“x”将变为“t”。
例如,查看/tmp、 /var/tmp⽬录本⾝的权限,确认存在“t”标记。
粘滞位权限都是针对其他⽤户( other)设置,使⽤chmod命令设置⽬录权限时,
“o+t”、 “o-t”权限模式可分别⽤于添加、移除粘滞位权限。
例如,为/test⽬录设置粘滞位权限。
此时普通⽤户zyj便⽆法删除/root/test/file1⽂件了。
粘滞位权限在⽣产环境中也被⼴泛应⽤,当需要为⽤户提供⼀个开放⽬录⽽又不希望造成管理混乱时,通过
为⽬录设置粘滞位权限便可以解决问题。