景安虚拟主机文件权限_PHP切换
很多站长遇到 PHP切换直接 chmod -R 777,网站能跑了但安全风险极大。777意味着任何用户都能读写执行,黑客可以往网站目录写 webshell。正确做法是目录755、文件644、需要写入的目录755(属主正确即可写),最多给775(组可写)。
属主问题:Web 进程以 www/nginx/apache 用户运行,文件属主要和运行用户一致,否则 PHP 无法读写。chown -R www:www 网站目录。虚拟主机共享环境属主由系统管理,用户主要关注权限位。属主错误会导致上传失败、缓存写不了、session 存不了。
参考(权限与配置命令): ``` # 批量修复权限 find /www/wwwroot/域名 -type d -exec chmod 755 {} ; find /www/wwwroot/域名 -type f -exec chmod 644 {} ; chown -R www:www /www/wwwroot/域名
# 写入目录给可写权限 chmod -R 755 /www/wwwroot/域名/upload chmod -R 755 /www/wwwroot/域名/runtime
# Nginx配置检测与重载 nginx -t nginx -s reload
# Apache配置检测与重载 apachectl configtest systemctl reload httpd
# PHP配置检测 php -l /path/to/file.php php -i | grep "upload_max_filesize"
# PHP-FPM重载 systemctl reload php-fpm
# .user.ini示例 cat > /www/wwwroot/域名/.user.ini << 'EOF' upload_max_filesize = 50M post_max_size = 55M max_execution_time = 300 memory_limit = 256M date.timezone = PRC EOF ```
排查完用 nslookup 解析检测确认。权限修复后上传、缓存、session 都正常;配置修改后 phpinfo() 确认生效;伪静态规则测试所有 URL 都返回200。不要留777权限,确认所有目录和文件权限合规。
Apache 配置检测:apachectl configtest 或 httpd -t 检测语法,systemctl reload httpd 重载。.htaccess 不需要重启但语法错会500。主配置在 /etc/httpd/conf/httpd.conf,虚拟主机在 /etc/httpd/conf.d/。

更新时间:2026-08-26 20:41:28