关于粘住位

linux中文件有三个比较特殊的属性:SUID、SGID、SBIT,其中SBIT就是粘住位(sticky bit)。粘住位的来源还比较有意思。

在unix早期,硬件成本比较高,设计了这么一个特殊的位,用S_ISVTX表示。当一个可执行文件粘住位被设置后,其在第一次执行结束后,其程序正文部分仍被保存在交换空间,使得下次执行能够更加快速的载入。随着硬件性能的快速提高,现在就用不上此技术了。后来unix系统的发展没有抛弃这个设置位,而是赋予了其更多的含义。

如果对一个目录设置了粘住位,想删除目录下面的文件和目录必须满足下列条件之一:

1、目录所有者

2、文件所有者

3、root

言下之意是:

假如文件A被用户U1所有,文件A的权限为777,那么所有用户都可以对该文件进行修改、移动、重命名等操作,但无法删除该文件。

通常的用途在于用户团队协作的目录,用户可以相互修改文件,却只有用户所有者才能删除。

设置SBIT的命令:chmod 1777 pathname

 

你可能感兴趣的:(职场,chmod,休闲,SBIT,粘住位)