粘滞位可防止多用户环境中非所有者删除文件,通过chmod 1755或chmod +t设置,ls -ld验证末尾t/T确认生效,移除用chmod -t或重设权限。

如果您希望在多用户环境中保护特定目录中的文件不被其他用户删除,即使他们拥有写权限,可以通过设置粘滞位来实现。粘滞位通常应用于共享目录,以确保只有文件的所有者、目录所有者或root用户才能删除或重命名该目录中的文件。
本文运行环境:Dell XPS 13,Ubuntu 24.04
一、使用chmod命令通过八进制方式设置粘滞位
粘滞位可以通过八进制权限模式进行设置,其中粘滞位对应数值为1,放置在权限的最前面。当与其他权限组合时,可以使用四位数字表示法。
1、打开终端,进入目标目录所在路径。
2、执行以下命令为目录设置粘滞位:chmod 1755 /path/to/directory,其中1代表粘滞位,755是常规权限。
3、验证权限是否设置成功,运行:ls -ld /path/to/directory,输出中末尾的“t”或“T”表示粘滞位已生效。
二、使用chmod命令通过符号方式添加粘滞位
符号模式允许在不改变现有权限的情况下,单独添加或移除粘滞位,更加灵活且易于理解。
1、在终端中输入以下命令为指定目录添加粘滞位:chmod +t /path/to/directory。
2、若需仅对其他用户(others)有执行权限时才设置粘滞位,可先确保权限包含执行位,例如:chmod o+x /path/to/directory。
3、再次使用ls -ld /path/to/directory查看权限,确认最后一位显示为“t”(小写t表示有执行权限,大写T表示无执行权限)。
三、通过图形化文件管理器设置粘滞位
部分Linux桌面环境提供的文件管理器支持修改权限,但通常不直接显示粘滞位选项,需结合命令行验证。
1、右键点击目标目录,选择“属性”或“权限”选项。
2、在权限设置界面中,尝试启用“其他用户”的执行权限,并记录更改。
3、由于图形界面无法直接设置粘滞位,仍需在终端中运行:chmod +t /path/to/directory 完成设置。
四、移除已设置的粘滞位
当不再需要粘滞位保护时,可以安全地将其移除,避免权限配置混乱。
1、在终端中执行命令:chmod -t /path/to/directory,这将移除该目录上的粘滞位。
2、或者使用八进制方式重新设置权限,如:chmod 755 /path/to/directory,此操作会覆盖包含粘滞位的四位权限。
3、使用ls -ld /path/to/directory检查结果,确认末尾的“t”或“T”已消失。










