Linux中不存在Find-Perm-222命令,实为find -perm -222的误记;该参数查找u/g/o均含写权限的文件或目录,常用于识别全局可写安全风险,并需结合业务判断是否加固。

Linux 系统中并不存在名为 Find-Perm-222 的标准命令或主流工具。你提到的名称可能是对 find 命令配合权限参数(如 -perm -222)的一种误记或自定义脚本简称。
理解 -perm -222 的真实含义
find . -perm -222 表示查找当前目录(含子目录)中「所有用户(user/group/others)都具备写权限」的文件或目录——即权限位中 w 在所有三组(u/g/o)中均被设置,对应八进制权限如 222、622、262、226、662、626、266、666 等(只要 u/g/o 的写位全为 1)。
⚠️ 注意:-perm -222 不等于 -perm 222。-perm 222 是精确匹配仅含写权限(无读、无执行)的文件,极少见且通常无实际意义;-perm -222 才是真正用于识别「全局可写」风险项的正确写法。
安全检索全局可写文件的标准命令
推荐使用以下组合,兼顾安全性与实用性:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
-
find / -xdev -type f -perm -222 2>/dev/null—— 查找所有全局可写的普通文件(-xdev跳过挂载点,避免扫描 /proc、/sys、NFS 等) -
find / -xdev -type d -perm -222 2>/dev/null—— 查找全局可写的目录(更需重点关注,易被滥用创建恶意文件) - 加
-ls可直观查看权限、属主、路径:find /var -xdev -type d -perm -222 -ls 2>/dev/null
执行加固:批量修复权限与属主
发现风险项后,不可盲目 chmod 644 或 chmod 755——需按文件类型和用途差异化处理。建议分步操作:
- 先备份原始权限(可选但推荐):
find /tmp -type d -perm -222 -exec stat -c "%a %U:%G %n" {} \; > /root/global-write-before.log - 对临时目录下的全局可写目录(如 /tmp、/var/tmp),可收紧为
1777(粘滞位):find /tmp /var/tmp -type d -perm -222 -exec chmod 1777 {} \; - 对非临时目录中的全局可写文件,优先考虑移除写权限(保留原读/执行):
find /etc -type f -perm -222 -exec chmod o-w {} \;
(去掉 others 写权限,保留 owner/group 权限) - 若属主异常(如 root 属于 nobody),同步修正:
find /opt -type f -perm -222 -exec chown root:root {} \; -exec chmod o-w {} \;
自动化加固脚本示例(保存为 fix-global-write.sh)
以下是一个轻量、可审计的加固脚本,不含危险操作(不自动删除),仅修改权限与属主:
#!/bin/bash # fix-global-write.sh — 安全加固:清理全局可写风险项 echo "[INFO] 开始扫描全局可写目录(/tmp /var/tmp)..." find /tmp /var/tmp -xdev -type d -perm -222 -print0 | while IFS= read -r -d '' dir; do echo "[FIX] 设置粘滞位:$dir" chmod 1777 "$dir" 2>/dev/null done <p>echo "[INFO] 扫描全局可写配置文件(/etc /opt)..." find /etc /opt -xdev -type f -perm -222 -print0 | while IFS= read -r -d '' file; do echo "[FIX] 移除 other 写权限:$file" chmod o-w "$file" 2>/dev/null done</p><p>echo "[DONE] 加固完成。建议人工复核:find /etc /var -xdev -type f -perm -222"
用法:chmod +x fix-global-write.shsudo ./fix-global-write.sh
不复杂但容易忽略:真正的加固关键不在“找到”,而在“判别是否该写”——比如某些应用日志目录必须全局可写(如 Apache 的 mod_status 目录),直接 chmod 可能导致服务异常。务必结合业务上下文判断,优先查阅应用文档或使用 lsof +D /path 确认进程依赖。

















