粘滞位(Sticky Bit)防误删/恶意删除而非防篡改,仅限制目录中文件的删除与重命名:仅文件所有者、目录所有者及root可删,他人即使有目录写权限也不行;用chmod +t或四位八进制(如1777)设置,末位显示t表示生效,且不继承需递归应用。

粘滞位(Sticky Bit)不是防“篡改”,而是防“误删或恶意删除”——它不限制文件内容的修改(写权限仍生效),只约束删除和重命名操作。只要目录设置了粘滞位,即使权限是 777,普通用户也只能删自己创建的文件,无法动他人文件。这是协作共享目录安全落地的关键一环。
理解粘滞位真正管什么
删除一个文件,本质是修改所在目录的结构(删掉文件名与 inode 的映射),所以取决于目录的写权限,而非文件自身的权限。粘滞位就是在目录有写权限的前提下,加一道“身份锁”:
- 允许删除:文件所有者、目录所有者、root 用户
- 禁止删除:其他任何用户(哪怕对目录有 w 权限)
注意:t 不影响读、写、执行文件内容。userA 仍可编辑 userB 创建的文件(如果该文件权限允许),只是不能 rm 或 mv 它。
用 chmod +t 快速启用(推荐日常使用)
这是最直观、最安全的方式,只添加粘滞位,不改动原有 rwx 权限:
-
chmod +t /shared—— 为目录/shared添加粘滞位 -
ls -ld /shared—— 查看结果,末位显示 t(如drwxrwxrwt)表示成功 - 若显示大写 T(如
drwxrwxr-T),说明目录无执行权限(x),需先补上:chmod o+x /shared
用四位八进制精确设定(适合脚本与初始化)
粘滞位对应八进制最高位 1,因此必须用四位数(如 1775、1777):
-
chmod 1775 /shared→ 权限为rwxrwxr-x+ t,适合需要限制“其他人不可执行但可删自己文件”的场景 -
chmod 1777 /shared→ 权限为rwxrwxrwx+ t,典型用于公共上传目录(如/tmp或 FTP upload 目录) - 验证命令同上:
ls -ld /shared,确认输出含 t
确保子目录也受保护(递归设置)
粘滞位不继承,新建子目录默认无 t。已有深层结构时需主动递归应用:
-
chmod -R +t /shared—— 为/shared及其所有现有子目录添加粘滞位 - 注意:此命令不影响文件,也不改变已有权限的 rwx 部分
- 建议搭配
find /shared -type d -ls抽查几级子目录,确认末位均为 t

















