Azure中WordPress文件权限问题及权限自动重置求助
Azure Web App WordPress 权限自动重置问题解决方法
正确权限配置回顾
先明确WordPress标准权限规则,避免再次踩坑:
- 文件夹权限设为
755(所有者读/写/执行,组和其他读/执行) - 文件权限设为
644(所有者读/写,组和其他只读) wp-content/uploads这类需要WordPress写入的目录,可单独设为775(配合运行用户组权限)
解决Azure自动重置权限的方案
Azure Web App会在重启、部署触发或定期同步时重置文件权限,以下是可行的解决办法:
1. 用启动脚本强制固化权限
在Azure门户中给Web App添加启动命令,每次应用启动时自动修正权限:
- 路径:Web App → 配置 → 常规设置 → 启动命令
- 输入脚本(根据实际路径调整):
chown -R nginx:nginx /home/site/wwwroot && find /home/site/wwwroot -type d -exec chmod 755 {} \; && find /home/site/wwwroot -type f -exec chmod 644 {} \; && find /home/site/wwwroot/wp-content/uploads -type d -exec chmod 775 {} \; && find /home/site/wwwroot/wp-content/uploads -type f -exec chmod 664 {} \;
脚本作用:
- 统一设置所有文件/文件夹所有者为nginx
- 批量修正常规文件夹、文件权限
- 单独配置uploads目录的写入权限
2. 调整部署同步规则
如果使用Git或持续部署,Azure可能在部署后重置权限:
- 进入部署中心 → 配置,取消勾选「部署后自动同步」(若有该选项)
- 在部署脚本末尾加入上述权限设置命令,确保部署完成后自动修正权限
3. 匹配Azure运行身份
先确认Web App的实际运行用户:
- 通过SSH连接后执行
whoami查看 - 如果运行用户不是nginx,修改启动脚本中的
chown参数为实际用户(比如www-data:www-data)
4. 排查自动化规则/扩展
- 检查Web App的扩展列表,若有第三方权限管理扩展,禁用或调整配置
- 查看Azure自动化账户,确认是否有定时任务修改文件权限
额外安全加固建议
- 绝对不要使用
777权限,这会让任何用户都能修改文件,风险极高 - 安装WordPress安全插件(如Wordfence),监控文件权限变化和异常访问
- 限制SSH/FTP的访问IP,仅允许信任地址连接
- 启用Azure Web App的WAF防火墙,拦截恶意请求
内容的提问来源于stack exchange,提问作者Darien Chaffart
相关产品推荐
相关产品推荐

