ubuntu lamp权限设置怎么操作
小樊
41
2025-12-31 22:09:43
Ubuntu LAMP 权限设置实操指南
一 基础安全原则
- Web 服务进程在 Ubuntu 上通常以 www-data 用户/组运行,网站目录(如 /var/www/html)应归该用户所有,以避免权限过宽带来的风险。避免使用 777 这类过度开放权限,优先采用最小权限原则与访问控制列表(ACL)。
二 标准目录权限与所有权
- 设置网站根目录的所有权和权限(适用于单站点或默认站点):
- 设置所有者与组:sudo chown -R www-data: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 {} ;
- 说明:目录需要执行位(以便进入),文件一般不需要执行位;所有者为 www-data 可确保 Apache 正常读写与执行脚本。
三 多用户或开发协作场景
- 若需要让本机开发者账号(如 ubuntu)也能直接写入代码,同时不破坏 www-data 运行权限,可使用 ACL 精细授权:
- 为目录启用默认 ACL:sudo setfacl -d -m u:ubuntu:rwx /var/www/html
- 为当前已存在文件/目录授予权限:sudo setfacl -R -m u:ubuntu:rwx /var/www/html
- 如需移除某用户的 ACL:sudo setfacl -x u:ubuntu /var/www/html
- 提示:ACL 能在不改变属主的情况下,为特定用户追加权限,便于团队协作开发。
四 上传目录与特殊权限
- 对于需要写入上传文件的目录(如 /var/www/html/uploads),可单独放宽写权限,其他目录保持 755/644:
- 创建并设置上传目录:sudo mkdir -p /var/www/html/uploads
- 仅对上传目录赋予组写并保留执行位:sudo chown www-data:www-data /var/www/html/uploads && sudo chmod 775 /var/www/html/uploads
- 若上传由 PHP 处理,确保运行用户为 www-data,且目录对 www-data 可写;必要时使用 ACL 为开发者追加写权限(见上节)。
五 验证与常见问题处理
- 权限生效后,重启或重载 Apache 并测试:
- 重启服务:sudo systemctl restart apache2
- 创建测试页:echo “” | sudo tee /var/www/html/info.php
- 浏览器访问:http://localhost/info.php,确认页面正常显示
- 若遇到写入失败或 403/500 错误,优先检查目录属主是否为 www-data、目录权限是否为 755/644(上传目录 775)、以及是否误用了 777。