Ubuntu LAMP 权限设置方法
一 基础安全原则
二 标准权限配置步骤
sudo chown -R www-data:www-data /var/www/htmlsudo find /var/www/html -type d -exec chmod 755 {} + && sudo find /var/www/html -type f -exec chmod 644 {} +sudo usermod -a -G www-data $USERsudo chmod -R 775 /var/www/html/storage /var/www/html/uploadssudo find /var/www/html/storage /var/www/html/uploads -type d -exec chmod g+x {} +newgrp www-data(或重新登录)sudo chmod 600 /var/www/html/.htaccess /var/www/html/.envsudo chown -R $USER:www-data /var/www/html && sudo find /var/www/html -type d -exec chmod 755 {} + && sudo find /var/www/html -type f -exec chmod 644 {} +三 典型场景与命令示例
| 场景 | 推荐权限与所有权 | 关键命令示例 |
|---|---|---|
| 生产站点(只读代码、上传可写) | 目录 755、文件 644;上传目录 775;所有者 www-data:www-data | sudo chown -R www-data:www-data /var/www/html && sudo find /var/www -type d -exec chmod 755 {} + && sudo find /var/www -type f -exec chmod 644 {} + && sudo chmod 775 /var/www/html/uploads && sudo chmod g+x /var/www/html/uploads |
| 开发协作(开发者需写入) | 所有者 www-data:www-data;开发者加入 www-data 组;协作目录 775 | sudo usermod -a -G www-data $USER && sudo chmod -R 775 /var/www/html/storage /var/www/html/uploads && sudo find /var/www/html/storage /var/www/html/uploads -type d -exec chmod g+x {} + |
| 仅当前用户可写(本地开发) | 所有者 $USER:www-data;目录 755、文件 644 | sudo chown -R $USER:www-data /var/www/html && sudo find /var/www/html -type d -exec chmod 755 {} + && sudo find /var/www/html -type f -exec chmod 644 {} + |
| 禁止访问敏感文件 | 敏感文件 600 | sudo chmod 600 /var/www/html/.htaccess /var/www/html/.env |
四 验证与故障排查
ps aux | grep apache2,应看到以 www-data 运行的进程。ls -ld /var/www/html /var/www/html/index.php /var/www/html/uploadsfind /var/www/html -type d -exec chmod g+x {} +groups $USER