服务器文件权限定期审计应聚焦四类高风险项:web目录可写脚本、敏感配置文件权限过宽、非root属主的suid/sgid文件、用户ssh密钥权限宽松;用find/stat/awk实现自动化检查,输出带修复命令的分级报告,并通过crontab每日执行、git版本管理及白名单机制形成闭环。

服务器文件权限定期审计不是反复检查所有文件,而是聚焦高风险项、用原生命令固化流程、输出可执行建议。关键在精准、自动、闭环。
锁定四类高风险文件权限问题
不必全盘扫描,优先盯住以下四类极易被利用的异常:
-
Web目录下可写脚本文件:如
/var/www/html/*.php权限为 664 或 777,可能被上传后门 -
敏感配置文件权限过宽:如
/etc/shadow(应为 000)、/etc/ssh/sshd_config(应为 600)、/etc/passwd(应为 644) -
属主非root却带SUID/SGID位的可执行文件:例如普通用户创建的
/tmp/malware设了4755,可提权执行 -
用户家目录或SSH密钥权限宽松:如
~/.ssh/id_rsa权限不是 600,或~/.ssh目录不是 700
用系统命令组合实现每日自动化检查
无需安装额外工具,直接用 find、stat、awk 编写轻量脚本:
魔搭GPT(ModelScopeGPT)是一款AI视频创作工具,阿里达摩院推出的大小模型协同的智能助手,具备作诗、绘画、视频生成、语音播放等多模态能力。
- 查 Web 目录中可写 PHP 文件:
find /var/www -name "*.php" -perm /200 2>/dev/null | xargs -r ls -l - 查 sshd_config 权限是否合规:
stat -c "%a %U:%G %n" /etc/ssh/sshd_config | grep -v "600 root:root" - 查异常 SUID 文件并过滤系统路径:
find / -xdev -type f -perm -4000 ! -path "/bin/*" ! -path "/sbin/*" ! -path "/usr/bin/*" 2>/dev/null | xargs -r stat -c "%a %U %n" - 查用户 SSH 密钥权限:
find /home -maxdepth 3 -name "id_rsa" -o -name "id_dsa" -o -name "id_ecdsa" -o -name "id_ed25519" 2>/dev/null | xargs -r ls -l
生成带处置动作的审计报告
脚本输出要直接告诉运维“下一步做什么”,而不是只罗列问题:
- 每条异常后附修复命令,例如:
/etc/ssh/sshd_config has 644 → run: chmod 600 /etc/ssh/sshd_config - 按风险分级着色(可用
echo -e "\033[31m..."实现):红色=立即修复(如 shadow 可读)、黄色=人工复核(如某业务脚本需临时 775)、绿色=已确认合规 - 自动记录本次运行时间、发现数量、与上次对比变化(新增/消失/不变),存入
/var/log/perm-audit.log
集成进日常运维节奏
让审计真正起作用,必须嵌入稳定运行机制:
- 加入 crontab 每日凌晨 2 点执行:
0 2 * * * /opt/scripts/perm-audit.sh | mail -s "File Perm Audit $(date +\%F)" secops@example.com - 脚本本身纳入 Git 版本管理,每次修改注明原因(如“新增检测 /opt/app/config.yml 权限”)
- 每月初抽检 5–10 条告警,验证是否误报;对确需宽松权限的例外项,建立白名单并注释说明业务依据










