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

在AWS部署Tomcat7时,如何让web目录保留在/home/ec2-user下正常运行?

解决Tomcat无法访问/home/ec2-user下web目录的问题

这个报错的核心原因其实是Tomcat运行的tomcat用户没有权限访问/home/ec2-user这个父目录——Linux系统默认用户家目录的权限是700(只有目录所有者能读写执行),所以哪怕你给web目录开了权限,tomcat用户连进入/home/ec2-user的权限都没有,自然访问不到里面的web文件夹。

下面是两种可行的解决方案,推荐第二种更安全:

方案一:放宽家目录权限(简单但略不安全)

  1. 先查看当前/home/ec2-user的权限:

    ls -ld /home/ec2-user
    

    输出应该是类似drwx------,说明只有ec2-user自己能访问。

  2. 修改权限让其他用户能读和执行(进入目录):

    sudo chmod 755 /home/ec2-user
    
  3. 重启Tomcat:

    sudo systemctl restart tomcat
    

方案二:将tomcat用户加入ec2-user组(更安全)

这种方式不用开放家目录给所有用户,只让tomcat用户通过组权限访问:

  1. 查看ec2-user所属的用户组:

    groups ec2-user
    

    通常输出会包含ec2-user组。

  2. 将tomcat用户添加到ec2-user组:

    sudo usermod -aG ec2-user tomcat
    

    注意-aG是追加组,不会覆盖原有组。

  3. 修改/home/ec2-user的权限,让组用户拥有读和执行权限:

    sudo chmod 750 /home/ec2-user
    
  4. 验证tomcat用户能否访问目标目录:

    sudo su - tomcat -c "cd /home/ec2-user/myproject/web && pwd"
    

    如果能正常输出目录路径,说明权限配置成功。

  5. 重启Tomcat生效:

    sudo systemctl restart tomcat
    

为什么之前的方法无效?

  • 单独修改web目录权限:父目录/home/ec2-user权限不足,tomcat用户根本无法进入该目录,自然访问不到子目录。
  • 创建软链接到/etc/tomcat/web:软链接只是指向原目录,原目录的权限问题依然存在,所以还是访问失败。
  • 复制web到/etc/tomcat:因为/etc/tomcat是Tomcat的默认配置目录,tomcat用户本身就有访问权限,所以能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:08:00