Linux——粘滞位(Sticky bit)

来源:互联网 发布:企业级网络交换机 编辑:程序博客网 时间:2024/05/21 04:02

粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标。

历史

粘滞位是在1974年Unix的第5版中引入的,用来设置可执行文件。当可执行文件设置粘滞位之后,它能够指示操作系统在程序退出后,保留程序的代码段到swap空间。当程序再次执行时,内核只需将程序从swap搬到内存即可,这能够加速程序的执行。所以,频繁使用的程序比如编辑器能够更快的打开。

现在

最常见的用法在目录上设置粘滞位,也只能针对⽬录设置,对于⽂件⽆效。则设置了粘滞位后,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。

     在Linux系统中⽐较典型的例子就是“/tmp”、 “/var/tmp”目录。这两个⽬录作为Linux系统的临时⽂件夹,权限为“rwxrwxrwx”,即允许任意⽤户、任意程序在该⽬录中进⾏创建、删除、移动⽂件或⼦⽬录等操作。然⽽试想⼀下,若任意⼀个普通⽤户都能够删除系统服务运⾏中使⽤的临时⽂件,将造成什么结果?
粘滞位权限便是针对此种情况设置,当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,正好可以保持⼀种动态的平衡:允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据。

需要注意的是, 粘滞位权限只能针对⽬录设置,对于⽂件⽆效。
  设置了粘滞位权限的⽬录,使⽤ls命令查看其属性时,其他⽤户权限处的“x”将变为“t”。


举例:查看/tmp、 /var/tmp⽬录本⾝的权限,确认存在“t”标记。

              

粘滞位权限都是针对其他⽤户( other)设置,使⽤chmod命令设置⽬录权限时, 
“o+t”、 “o-t”权限模式可分别⽤于添加、移除粘滞位权限。
  例如,为/test⽬录设置粘滞位权限。


此时普通⽤户hxy便⽆法删除/root/test/file1⽂件了。

粘滞位权限在⽣产环境中也被广泛应用,当需要为用户提供提个开放目录又不希望造成管理混乱时,通过
为目录设置粘滞位权限便可以解决问题。


参考:

     http://www.cnblogs.com/hanxiaoyu/p/5622036.html

http://www.linuxidc.com/Linux/2011-09/43261.htm    


0 0