粘滞位仅对目录生效且必须配合执行权限(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,表示“粘滞位已设但无效”。用户甚至进不去这个目录,更别说删文件了。

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

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

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

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

本文转载于:https://www.php.cn/faq/3005307.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。