满足安全审计要求需检索两类匿名用户可写目录:一是无所属主且其他用户有写权限的目录,用find /tmp -type d -nouser -perm -o=w命令;二是其他用户有写权限但有主/有组的目录,用find /tmp -type d -perm -o=w -ls命令,并排除已知安全例外、导出带时间戳的审计结果。

要满足安全审计中“检索所有匿名用户可写的目录”这一要求,关键在于识别两类对象:一是无所属主(nouser)或无所属组(nogroup)的目录
二是权限上允许其他用户(others)写入(o+w)的目录
查找无主且可被其他用户写入的目录
这类目录最危险——既无人管理,又开放写权限,极易被恶意利用。
- 使用
-nouser和-perm -o=w组合,确保目录同时满足两个条件 -
-type d限定只查目录,避免误匹配文件 - 建议从
/tmp、/var/tmp、/dev/shm等高风险区域开始,而非全盘扫描
示例命令:
find /tmp -type d -nouser -perm -o=w 2>/dev/null
查找其他用户可写但有主/有组的目录
即使目录归属明确,若设置了 o+w(如 1777 的 tmp 目录),仍需纳入审计范围。
- 用
-perm -o=w匹配“其他用户有写权限”,注意不是/o=w(后者是“或”关系,易误报) - 加上
-ls可直接显示权限、所有者、大小和路径,便于人工复核 - 生产环境慎用
/起始路径;推荐限定在/tmp、/var、/home等实际可能存放用户数据的挂载点
示例命令:
find /tmp -type d -perm -o=w -ls 2>/dev/null
排除已知安全例外并导出结果
审计报告需清晰区分风险项与白名单项。可通过 -prune 排除可信路径,或用 ! -path 过滤。
- 例如跳过系统标准临时目录(若已确认其 Sticky bit 有效):
! -path "/tmp" -prune -o ... - 将结果保存为时间戳文件,方便比对:
find ... > audit_writable_dirs_$(date +%F).log - 配合
stat检查关键目录是否启用 Sticky bit(如drwxrwxrwt中末位t表示安全)
补充说明:为什么不用 -nogroup 单独判断?
Linux 中一个目录可以有有效用户但无有效组(罕见),或反之;但安全审计关注的是“可被未授权用户写入”的实质风险。实践中,-nouser 已足够标识失控目录,而 -perm -o=w 是更普适的风险指标。两者组合覆盖主要威胁面,兼顾准确性和可操作性。











