合理的用户权限配置对于Web服务器的安全性至关重要。以下是Nginx、PHP-FPM和MySQL的最佳用户权限配置实践。
nginx
或www-data
用户)在/etc/nginx/nginx.conf
中:
user nginx nginx;
worker_processes auto;
chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html
www-data
或nginx
用户运行PHP-FPM[website1]
user = website1
group = website1
listen = /var/run/php-fpm/website1.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
useradd website1
chown -R website1:website1 /var/www/website1
find /var/www/website1 -type d -exec chmod 750 {} \;
find /var/www/website1 -type f -exec chmod 640 {} \;
CREATE DATABASE app_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
chown -R mysql:mysql /var/lib/mysql
chmod -R 750 /var/lib/mysql
网站目录权限:
chown -R website1:nginx /var/www/website1
find /var/www/website1 -type d -exec chmod 750 {} \;
find /var/www/website1 -type f -exec chmod 640 {} \;
上传目录特殊权限:
chown -R website1:nginx /var/www/website1/uploads
chmod -R 770 /var/www/website1/uploads
会话和缓存目录:
chown -R website1:nginx /var/www/website1/var/cache
chmod -R 770 /var/www/website1/var/cache
exec
, system
, shell_exec
等)通过以上配置,您可以建立一个既安全又功能完善的Web服务环境,同时最小化潜在的安全风险。