作用:
在目录上设置粘滞位,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。
实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。
设置粘滞位的原因:
1.切换至root用户,在code目录下创建tmp目录并将权限设置为777
![]()
.
2. 在tmp目录下创建一个tmp文件,切换会普通用户,查看是否能删除tmp文件
![]()
.
可以看到,普通用户对于tmp文件只有-r权限,但因为root用户赋予了tmp目录777权限,所以可以删除tmp文件,这说明如果不设置粘滞位,可能会不小心删除系统正在运行的文件,后果不堪设想。因此,为了防止当前用户删除其他用户的文件,必须要设置粘滞位。
设置粘滞位方法:
chmod o+t tmp
chmod o-t tmp//移除粘滞位
![]()
可以发现,设置粘滞位后不能使用普通用户删除tmp文件了。
设置粘滞位条件:
粘滞位只能给目录设置,不能给文件设置