Ubuntu(AWS Lightsail)修改用户权限后Vhosts域名出现503不可用问题
解决AWS Lightsail Ubuntu Plesk实例中SFTP权限修改导致的503错误与文件管理器异常问题
这问题我之前帮朋友排查过类似的,核心就是你手动修改httpdocs目录所有者后,把Plesk管理进程和web服务器(Nginx/Apache)依赖的权限给冲掉了——SFTP能访问是因为你拿到了所有权,但网站服务和Plesk面板没权限读写这个目录了,自然就出503和文件管理器异常。咱们一步步来修复:
第一步:恢复Plesk与web服务的基础权限
首先得把目录权限改回Plesk的标准配置:
找到域名对应的Plesk系统用户
要么登录Plesk面板,进入对应域名的「主机设置」查看FTP用户;要么通过SSH执行命令:plesk bin domain --info example.com输出里的
FTP user字段就是这个域名对应的系统用户名(比如example_com)。重置目录所有者与组
执行命令把httpdocs的所有者改回域名专属用户,组设为Plesk默认的psacln(这个组是给web服务进程授权用的):sudo chown -R 你的域名FTP用户名:psacln /var/www/vhosts/example.com/httpdocs(注意:如果你的vhost目录不是
/var/www/vhosts,换成你实际的路径,Lightsail的Plesk实例通常是这个路径)设置正确的权限位
确保目录和文件的权限符合web服务读取、SFTP用户修改的需求:# 给目录设置755权限(所有者读写执行,组和其他读执行) sudo chmod -R 755 /var/www/vhosts/example.com/httpdocs # 给文件设置644权限(所有者读写,组和其他读) find /var/www/vhosts/example.com/httpdocs -type f -exec chmod 644 {} \;
第二步:确保SFTP仍能正常访问
不需要把整个目录改成你的用户,这样反而容易出问题。可以用更安全的方式:
- 把你的SFTP用户(
my-username)加入到psacln组,这样就能获得对httpdocs的修改权限:sudo usermod -aG psacln my-username - 或者更规范的方式:直接在Plesk面板里给
my-username分配对应域名httpdocs目录的访问权限,这样Plesk会自动处理权限配置,不会出问题。
第三步:验证修复效果
- 重启web服务,让权限变更生效:
# 如果你用的是Nginx sudo systemctl restart nginx # 如果你用的是Apache sudo systemctl restart apache2 - 访问你的域名,确认503错误消失;
- 打开Plesk文件管理器,检查是否能正常浏览、修改文件;
- 用SFTP客户端登录,确认仍然能访问
httpdocs目录。
一些避坑提醒
- 别随便改Plesk vhost目录的所有者!Plesk依赖一套严格的用户/组权限体系来管理网站、邮件等服务,手动修改很容易破坏整个权限链;
- 要给用户分配SFTP权限,优先用Plesk面板的用户管理功能,而不是直接改系统权限;
- 以后遇到权限问题,先执行
ls -l /var/www/vhosts/example.com/httpdocs查看当前权限,对比其他正常域名的权限配置,能快速定位问题。
内容的提问来源于stack exchange,提问作者Pragmaticoder
相关产品推荐
相关产品推荐

