商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Linux怎么设置文件夹的粘滞位

Linux怎么设置文件夹的粘滞位

  发布于2026-08-18 阅读(0)

扫一扫,手机访问

粘滞位仅对目录生效且必须配合执行权限(x)——设在文件上无效,目录若无others执行权则显示大写T、功能不生效;推荐用chmod +t设置并验证末位为小写t。

Linux怎么设置文件夹的粘滞位

粘滞位只能设在目录上,设在文件上没用

Linux的粘滞位(Sticky Bit)对文件完全不起作用,内核会直接无视它。你要是用chmod +t给普通文件加上粘滞位,ls -l可能会显示T或者t,但文件的行为不会有任何改变——既不能阻止别人删除文件,也不会影响文件的执行。粘滞位只对目录有效,而且必须和执行权限(x)一起使用才会生效。

先确认目录有 others 执行权,否则粘滞位不生效

这是最容易踩的坑:如果目录当前权限是 drwxrwx---drwxrwxr--(即 others 没有 x),你执行 chmod +t 后,ls -ld 会显示末位是大写 T,表示“粘滞位已设但无效”。用户甚至进不去这个目录,更别说删文件了。

  • 检查命令:ls -ld /path/to/dir,看第三组权限(others)最后一位是不是 x
  • 补执行权:chmod o+x /path/to/dir(确保 others 可进入)
  • 再加粘滞位:chmod +t /path/to/dir,此时应显示小写 t(如 drwxrwxrwt

两种设置方式:符号法 vs 八进制法

chmod +t 最安全,只加粘滞位,不动已有权限;四位八进制(如 1755)适合一次性定死权限,但容易配错。

  • chmod +t /shared:推荐日常使用,不破坏原有读写权限
  • chmod 1755 /shared:等价于 chmod o+x,g+rx,u+rwx /shared && chmod +t /shared,注意首位 1 是粘滞位,后三位是常规权限
  • 别用 chmod 17701760:others 没 x,进不去目录,粘滞位白设
  • 避免 chmod -R +t:递归设粘滞位对子目录有效,但对文件无效,且可能覆盖不该动的权限

设了粘滞位,不代表万事大吉

粘滞位只管“删”和“重命名”,不管“读”“写”“执行”。它不阻止别人修改你的文件内容(只要文件本身权限允许),也不阻止他们往目录里塞恶意脚本——它只是把删除权锁死在文件所有者手里。

  • 协作目录建议搭配 chmod g+s(setgid):让新文件自动继承目录属组,再配合组写权限(如 2775
  • /tmp 类场景用 1777 合理,但 Web 上传目录(如 /var/www/uploads)慎用:PHP 进程以 www-data 身份运行,运维手动清理时会被粘滞位拦住
  • 挂载选项如 noexec 不影响粘滞位,但某些容器环境或旧内核可能不识别,务必用 ls -ld 实测
本文转载于:https://www.php.cn/faq/3005307.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注