首页/安全/安全加固速查/全局可写目录与文件核查

全局可写目录与文件核查

除 /tmp、/var/tmp(带 sticky 位)外的全局可写项都是隐患:无 sticky 位的目录可以被任意用户删文件。

安全加固速查安全更新于 2026-10-13

全局可写有什么问题

全局可写指权限位末位带 w,任何用户都能写入。除 /tmp、/var/tmp 这类带 sticky 位的公共目录外,业务目录出现全局可写基本都是隐患:目录没有 sticky 位时任何用户都能删除其中他人的文件,可用来破坏服务或替换被引用的文件。核查重点放在业务目录、Web 根目录与上传目录上。

基本信息

适用平台Linux
关键权限位-0002 表示其他人可写,末位 t 为 sticky 位
风险等级中
判读标准业务目录出现全局可写即为整改项
常见例外带 sticky 位的公共目录 /tmp、/var/tmp

典型使用场景

  • Web 根目录与上传目录被 webshell 利用后的排查
  • 权限基线核查,找出非预期的全局可写项
  • 排查服务被未知用户破坏(文件被删改)的原因
  • 容器镜像构建完成后做权限检查
  • 多用户主机上确认公共目录是否都带 sticky 位

核查命令

核查命令
find / -xdev -type d -perm -0002 -not -path '/tmp/*' -not -path '/var/tmp/*' 2>/dev/null | head -30   # 排除公共目录后的可写目录
find / -xdev -type f -perm -0002 -not -path '/tmp/*' 2>/dev/null | head -30   # 全局可写的文件
ls -ld /tmp /var/tmp      # 确认公共目录是否带 t 位(sticky)
getfacl /path/to/dir 2>/dev/null | head   # 查看 find 看不到的 ACL 写权限

输出逐列读法

列含义判读
末位 w其他人对该文件或目录可写业务目录出现即为整改项
末位 tsticky 位,只能删自己的文件公共目录应当具备
属主与属组文件的归属属主为普通用户却在系统目录需警惕
路径文件所在位置Web 根与上传目录优先级最高
ACL 条目额外授予的写权限需要 getfacl 才能看到
全局可写的上传目录是 webshell 落地与横向传播的常见温床,Web 根目录下出现这类目录要优先整改。
find 的 -perm -0002 只看传统权限位,ACL 授予的写权限它看不到:关键目录要用 getfacl 抽查,别以为 find 没有输出就万事大吉。
排查顺序建议从 Web 根目录、上传目录、定时任务与启动脚本所在目录开始:这些位置一旦全局可写,直接对应到可被执行或被替换的风险。

易错点

  • 判定时只看可写位不看 sticky 位,把正常的公共目录当成隐患,白白返工
  • 只跑 find 不查 ACL,被 setfacl 放开的写权限会被整片漏掉
  • 整改时用 chmod -R 一刀切,误改系统目录权限导致服务起不来,应按目录逐个评估
  • 只删权限不改上传逻辑,应用下次运行又把目录改回全局可写,需同时修应用配置

数据来源与参考

  • CIS Linux Benchmark:文件权限
  • 等保 2.0:访问控制

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌