一:LINUX粘滞位使用
粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,也只能针对目录设置,对于目录内文件有效。则设置了粘滞位后,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般于/tmp目录,以防止普通用户删除或移动其他用户的文件。
在Linux系统中比较典型的例子就是“/tmp”、 “/var/tmp”目录。这两个目录作为Linux系统的临时文件夹,权限为“rwxrwxrwx”,即允许任意用户、任意程序在该目录中进行创建、删除、移动文件或目录等操作。
粘滞位权限便是针对此种情况设置,当目录被设置了粘滞位权限以后,即便用户对该文录有写入权限,也不能删除该目录中其他用户的文件数据,只有该文件的所有者和root用户才有权将其删除。设置了粘滞位之后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入、删除数据,但是禁止随意删除其他用户的数据。
需要注意的是, 粘滞位权限只能针对目录设置,对于文件无效。
设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“t”。
二:程序实践
实验思路:
1: 首先我们用root模式创建一个目录 file,并且在 file里面写一个简单的test.c文件
2: 然后我们将file 目录的权限更改,给other 加入 t 权限
3: 回到普通模式,尝试删除file
如果是文件而不是目录,则+t 也没用