You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu(AWS Lightsail)修改用户权限后Vhosts域名出现503不可用问题

解决AWS Lightsail Ubuntu Plesk实例中SFTP权限修改导致的503错误与文件管理器异常问题

这问题我之前帮朋友排查过类似的,核心就是你手动修改httpdocs目录所有者后,把Plesk管理进程和web服务器(Nginx/Apache)依赖的权限给冲掉了——SFTP能访问是因为你拿到了所有权,但网站服务和Plesk面板没权限读写这个目录了,自然就出503和文件管理器异常。咱们一步步来修复:

第一步:恢复Plesk与web服务的基础权限

首先得把目录权限改回Plesk的标准配置:

  1. 找到域名对应的Plesk系统用户
    要么登录Plesk面板,进入对应域名的「主机设置」查看FTP用户;要么通过SSH执行命令:

    plesk bin domain --info example.com
    

    输出里的FTP user字段就是这个域名对应的系统用户名(比如example_com)。

  2. 重置目录所有者与组
    执行命令把httpdocs的所有者改回域名专属用户,组设为Plesk默认的psacln(这个组是给web服务进程授权用的):

    sudo chown -R 你的域名FTP用户名:psacln /var/www/vhosts/example.com/httpdocs
    

    (注意:如果你的vhost目录不是/var/www/vhosts,换成你实际的路径,Lightsail的Plesk实例通常是这个路径)

  3. 设置正确的权限位
    确保目录和文件的权限符合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会自动处理权限配置,不会出问题。

第三步:验证修复效果

  1. 重启web服务,让权限变更生效:
    # 如果你用的是Nginx
    sudo systemctl restart nginx
    # 如果你用的是Apache
    sudo systemctl restart apache2
    
  2. 访问你的域名,确认503错误消失;
  3. 打开Plesk文件管理器,检查是否能正常浏览、修改文件;
  4. 用SFTP客户端登录,确认仍然能访问httpdocs目录。

一些避坑提醒

  • 别随便改Plesk vhost目录的所有者!Plesk依赖一套严格的用户/组权限体系来管理网站、邮件等服务,手动修改很容易破坏整个权限链;
  • 要给用户分配SFTP权限,优先用Plesk面板的用户管理功能,而不是直接改系统权限;
  • 以后遇到权限问题,先执行ls -l /var/www/vhosts/example.com/httpdocs查看当前权限,对比其他正常域名的权限配置,能快速定位问题。

内容的提问来源于stack exchange,提问作者Pragmaticoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:41:42