粘滞位是Linux中专为公共目录设计的“防删锁”,它不改变读写权限,只限制删除和重命名操作——即使目录权限为777,也仅文件所有者、目录所有者或root可删改文件;/tmp默认启用(drwxrwxrwt),手动配置可用chmod 1777或chmod +t,末位小写t表示生效,大写T需补o+x;搭配SGID可确保新文件继承属组,提升团队共享安全性。
粘滞位(Sticky Bit)是保护公共临时目录最直接有效的机制,它不改变读写权限,只限制谁有权删除或重命名文件——哪怕目录权限是 777,也只有文件所有者、目录所有者或 root 才能删。
Linux 的 /tmp 默认就启用了粘滞位,这是系统级安全设计:
/tmp 中创建、读取、执行文件report.txt,用户 B 即使有写权限也无法 rm 或 mv
drwxrwxrwt,说明粘滞位 + 执行权同时生效比如新建一个协作用的临时区 /data/temp:
sudo mkdir -p /data/temp && sudo chmod 1777 /data/temp
sudo chmod 777 /data/temp && sudo chmod +t /data/temp
ls -ld /data/temp 应显示 drwxrwxrwt
drwxrwxrwT),说明其他用户缺少执行权(x),需补上:sudo chmod o+x /data/temp
单靠粘滞位防误删,但新文件属组可能不统一。加 SGID 可让所有新建文件自动继承目录组:
tempusers
sudo chgrp tempusers /data/temp
sudo chmod 2775 /data/temp(2=SGID,775=属主/组可读写执行,other 只读执行)drwxrwsr-x + 粘滞位 → 显示为 drwxrwsr-t
配置后务必确认是否真正起效:
ls -Z 查上下文,参考 /tmp 设置:sudo chcon -t tmp_t /data/temp