sticky位是linux中用于公共可写目录的特殊权限,确保用户仅能删除或重命名自己创建的文件;仅对目录生效,设置后权限末位显示t或t,需配合setgid和合理属组策略实现安全共享。

Sticky位(Sticky Bit)是Linux中一种特殊权限,主要用在公共可写目录(如 /tmp 或团队共享上传目录)上,确保用户只能删除、重命名自己创建的文件,即使目录权限为 777 也不会被他人随意删改。
Sticky位的核心作用
当Sticky位设置在目录上时,它会限制该目录下文件的删除和重命名操作——只有文件所有者、目录所有者或root用户才能执行这些操作。这有效防止了“公共上传目录被恶意清空或篡改”的典型安全风险。
注意:Sticky位对文件本身无效,仅对目录生效;且只影响删除/重命名行为,不影响读写执行权限本身。
如何正确设置Sticky位
使用 chmod 命令添加Sticky位:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 符号方式:
chmod +t /path/to/upload_dir - 八进制方式:
chmod 1777 /path/to/upload_dir(其中首位1表示Sticky位)
设置后,用 ls -ld /path/to/upload_dir 查看权限,末位应显示为 t(如 drwxrwxrwt),小写 t 表示有执行权限+Sticky位,大写 T 表示无执行权限但设置了Sticky位(不推荐,目录需可执行才可进入)。
搭配合理权限与属组实现安全共享
单靠Sticky位不够,还需配合属组和权限策略:
- 将所有协作用户加入同一组(如
uploaders) - 把上传目录属组设为该组:
chgrp uploaders /path/to/upload_dir - 启用组写权限并设置setgid位:
chmod 2775 /path/to/upload_dir(2是setgid,确保新文件继承目录属组) - 最终权限建议:
drwxrwsr-t—— 组内可写、新文件自动归属该组、Sticky位防误删
常见误区与检查要点
以下情况容易导致Sticky位失效或产生安全隐患:
- 目录权限未开启组/其他用户的执行位(
x),会导致无法进入或列出内容,Sticky位虽存在但实际不可用 - 误将Sticky位加在文件上(如
chmod +t file.txt),Linux忽略该设置,无意义 - 未配合setgid位,导致用户上传文件属组为各自主组,其他成员无法修改,反而影响协作
- 忘记定期清理过期文件——Sticky位不解决磁盘占满或敏感数据残留问题,需配合定时任务或审计机制
不复杂但容易忽略。










