通常情况下用户只要对某个目录具备w写入权限,便可以删除该目录中的任何文件,而不论这个文件的权限是什么
比如进行一下的操作
1)创建/test目录,并赋予777权限
2)以root用户的身份在/test目录中创建文件file,并查看其默认权限
3)以普通用户的身份登录系统,可以删除file
通过上述操作可以发现,虽然普通用户对文件/test/file只具备“r--”权限,但因为从/test目录中获得了“rwx”权限,因而还是可以将文件删除
在Linux系统中比较典型的例子就是“/tmp”,"/var/tmp”目录。这两个目录座位Linux系统的临时文件夹,权限为“rwxrwxrwx”,即允许任意用户,任意程序在该目录
中进行创建、删除。但是任意用户都能删除系统服务运行中使用的临时文件,会带来很大的风险
粘滞位权限便是针对此种情况设置,当目录被设置了粘滞位权限后,即便用户对该目录有写入权限,也不能删除该目录中其他用户的文件数据,而是只有该文件
的所有者和root用户才有权将其删除,设置了粘滞位后,正好可以保持一种动态的平衡;允许各用户在目录中任意删除、写入数据,但是禁止随意删除其他用户的数据
需要注意的是,粘滞位权限只能针对目录设置,对于文件无效
设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的'x"将变为“t”
如,查看/tmp、/var/tmp目录本身的权限,确认存在“t”标记
粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、"o-t"权限模式可分别用于添加、移除粘滞位权限
如:为/test目录设置粘滞位权限
此时普通用户便无法删除/test/file文件了
设置粘滞位可以为用户提供一个开放目录而不造成管理混乱