find . -perm -777 -type f 列出十二个文件,权限都是 rwxrwxrwx,属主 www-data,集中在两个上传类插件目录里。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,插件为了写缓存直接 chmod 0777,或者部署脚本图省事整目录放开。同组和其他用户都能写,等于给任意一个低权限进程留了改代码的口子。
「文件权限 777」这类改动最怕改一半,回滚脚本先准备好,再动生产。改完顺手把文档补一句,省得下次自己重新推一遍。
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 640 wp-config.php
find . -perm -777 -type f
监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。
具体做法是,目录统一 755,文件统一 644,属主保持 www-data;wp-config.php 单独收到 640,只给 web 用户读;找出执行 chmod 777 的代码位置改掉,再观察一周有没有新文件变宽。
最后用这个标准收尾,再跑一遍 find 没有输出,前台后台都能正常打开。
