一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux目录安全:设置粘滞位保护公共临时目录

时间:2026-07-22 08:48:59 编辑:袖梨 来源:一聚教程网

粘滞位是Linux中专为公共目录设计的“防删锁”,它不改变读写权限,只限制删除和重命名操作——即使目录权限为777,也仅文件所有者、目录所有者或root可删改文件;/tmp默认启用(drwxrwxrwt),手动配置可用chmod 1777或chmod +t,末位小写t表示生效,大写T需补o+x;搭配SGID可确保新文件继承属组,提升团队共享安全性。

粘滞位(Sticky Bit)是保护公共临时目录最直接有效的机制,它不改变读写权限,只限制谁有权删除或重命名文件——哪怕目录权限是 777,也只有文件所有者、目录所有者或 root 才能删。

为什么/tmp需要粘滞位

Linux 的 /tmp 默认就启用了粘滞位,这是系统级安全设计:

  • 所有用户都能在 /tmp 中创建、读取、执行文件
  • 但用户 A 创建的 report.txt,用户 B 即使有写权限也无法 rmmv
  • 查看权限时末位是小写 tdrwxrwxrwt,说明粘滞位 + 执行权同时生效

手动为自定义临时目录启用粘滞位

比如新建一个协作用的临时区 /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
  • 若看到大写 T(如 drwxrwxrwT),说明其他用户缺少执行权(x),需补上:sudo chmod o+x /data/temp

搭配 SGID 实现更稳妥的团队共享

单靠粘滞位防误删,但新文件属组可能不统一。加 SGID 可让所有新建文件自动继承目录组:

  • 把用户加入同一组,例如 tempusers
  • 设目录属组:sudo chgrp tempusers /data/temp
  • 启用 SGID 并保留粘滞位:sudo chmod 2775 /data/temp(2=SGID,775=属主/组可读写执行,other 只读执行)
  • 最终权限理想状态:drwxrwsr-x + 粘滞位 → 显示为 drwxrwsr-t

常见误区与检查要点

配置后务必确认是否真正起效:

  • 粘滞位对文件无效,只作用于目录;设在文件上会被忽略
  • 它不管文件内容是否被修改——只要文件权限允许写,别人仍可覆盖或编辑
  • SELinux 或其他 MAC 框架可能干扰,必要时用 ls -Z 查上下文,参考 /tmp 设置:sudo chcon -t tmp_t /data/temp
  • 定期清理过期文件仍是管理员责任,粘滞位不会自动清理

热门栏目