-perm -002 重点检查其他用户(others)是否具有写权限,因最后一位数字2表示“other可写”,该参数匹配other位为2或更高(如3=写+执行),精准识别全局可写目录这一高危投毒入口。

直接用 find / -type d -perm -002 可以列出所有「其他用户(others)有写权限」的目录,这是防范文件投毒的关键一步——攻击者常利用这类目录上传恶意脚本、覆盖配置或植入后门。
为什么重点查 -perm -002?
权限数值中的最后一位(即「other」位)为 2,代表「其他用户可写」。-perm -002 表示「该位必须为 2 或更高(如 3=写+执行)」,即严格匹配「全局可写」这一高危特征。这类目录一旦被 Web 进程或低权限服务写入,极易成为投毒入口(比如 /tmp、/var/tmp、/var/www/html/uploads 等)。
实际排查与加固建议
运行以下命令快速定位风险目录:
sudo find / -xdev -type d -perm -002 2>/dev/null
- -xdev:跳过挂载点(如 /proc、/sys、/mnt),避免误报和卡顿;
- 2>/dev/null:屏蔽无权限访问的报错,聚焦有效结果;
- 重点关注输出中属于 Web 根目录、上传路径、临时目录、日志目录的条目。
发现后立即采取的措施
- 对非必需的全局可写目录,改用
chmod o-w 目录名去掉 other 写权限; - 若业务确需共享写入(如协作上传),改用组权限 + SGID 目录:
chgrp uploadgroup 目录 && chmod 2775 目录,确保新建文件自动继承组归属; - 对 /tmp 和 /var/tmp,确认已启用
noexec,nosuid,nodev挂载选项(检查mount | grep tmp),并定期清理; - 将关键站点目录(如 /var/www)的所有者设为 root,组设为 www-data,权限设为
755,禁止其他用户写入。
建立常态化检查机制
不要只查一次。把扫描命令写成脚本,配合 cron 每日运行:
0 3 * * * root /usr/bin/find / -xdev -type d -perm -002 2>/dev/null | /usr/bin/mail -s "Global-write dirs on $(hostname)" admin@example.com
收到邮件即响应,能大幅压缩攻击窗口期。











