/tmp默认启用粘滞位,权限显示drwxrwxrwt表示生效;若为大写t需补o+x,修复可用chmod 1777或chmod +t,其核心作用是限制仅文件所有者、目录所有者或root可删除文件。

/tmp 目录默认已启用粘滞位,无需额外设置——这是 Linux 系统安装时的内置安全配置。运维中真正需要做的是验证它是否生效、理解其作用,并在必要时修复异常状态。
确认 /tmp 的粘滞位是否正常工作
运行以下命令查看权限:
ls -ld /tmp正确输出应为:
drwxrwxrwt 10 root root 4096 Sep 16 20:00 /tmp关键看末位字符:小写 t 表示粘滞位已启用且其他用户有执行权限(x),这是正常状态。
若看到大写 T(如 drwxrwxrwT),说明其他用户缺少执行权,粘滞位虽设但不生效,需补上:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- sudo chmod o+x /tmp
为什么 /tmp 必须有粘滞位
因为所有用户默认可写 /tmp,没有粘滞位时:
- userA 创建的 log.txt,userB 只要能进目录(有 x 权限)且目录可写(w),就能直接 rm 掉
- 系统服务临时文件可能被误删,导致程序崩溃或数据丢失
粘滞位强制要求:删文件必须是该文件所有者、/tmp 所有者(root)或 root 自身——这层限制不依赖文件权限,只作用于删除/重命名动作。
手动设置或修复粘滞位的两种等效方式
如果因误操作清除了粘滞位,可用任一方法恢复:
- 八进制模式:sudo chmod 1777 /tmp(1 表示粘滞位,777 是完整 rwx 权限)
- 符号模式:sudo chmod +t /tmp(+t 对目录添加粘滞位)
注意:仅用 chmod 777 /tmp 不会设置粘滞位;仅用 chmod o+t /tmp 则只对 other 用户设,推荐用 +t 全局生效。
排查常见干扰因素
即使权限显示为 drwxrwxrwt,某些情况下行为仍异常,需检查:
- SELinux 上下文:运行 ls -Z /tmp,确认类型为 tmp_t;若不是,可临时修正:sudo chcon -t tmp_t /tmp
- 挂载选项:/tmp 有时是 tmpfs 挂载,检查 mount | grep tmp,确保没带 noexec 或 nosuid 等影响执行权限的选项










