【问题标题】:Tomcat permission denied to /home/ubuntu unable to GET,POSTTomcat 权限被拒绝 /home/ubuntu 无法 GET、POST
【发布时间】:2019-06-10 18:07:45
【问题描述】:

我目前已经部署了一个应用程序,在我决定扩展 /home/ubuntu 卷之前它可以正常工作。我附加了另一个卷并将/home/ubuntu的所有内容复制到新卷中,现在新卷是/home/ubuntu,我可以登录并且所有权限都很好。

在我进行此更改之前,我的 tomcat Java 应用程序运行良好,现在每次我进行任何 POST、get、update 调用我的日志显示

2019-06-10 16:55:08 错误 ApplicationExceptionHandler:47 - MultipartException org.springframework.web.multipart.MultipartException:无法解析多部分 servlet 请求;嵌套异常是 java.io.IOException:org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException:处理 multipart/form-data 请求失败。 /home/ubuntu/upload_xxxxxxxxxxxxxxxxxxxxx.tmp(权限被拒绝)

现在我注意到这是一个权限问题,只是为了测试它,我将 -R 777 分配给 /home/ubuntu,该应用程序能够响应我的 REST 调用,但正如预期的那样,我无法使用我的私人帐号登录由于权限更改的原因,我刚刚将其设置为 -R 755 并且可以登录但应用程序无法响应 REST 调用。

我该如何解决这个问题?

【问题讨论】:

    标签: java apache ubuntu tomcat


    【解决方案1】:

    检查您的 /etc/systemd/system/tomcat.service 文件以查看哪个用户正在运行 Tomcat。 (通常是用户“tomcat”)

    然后运行这个命令给用户“tomcat”,组“tomcat”对/home/ubuntu的所有权

    chown -R tomcat:tomcat /home/ubuntu

    https://gist.github.com/drmalex07/e6e99dad070a78d5dab24ff3ae032ed1

    【讨论】:

    • 有没有其他方法,/home/user 目录必须属于用户,现在可能不会引起任何问题,但是如果我想设置一个 chroot 环境?不是我会,而是将用户的主目录更改为另一个用户是相当不舒服的。
    • 您需要从主目录提供文件吗?您可以将它们移动到 tomcat 文件夹并在那里提供它们吗?
    猜你喜欢
    • 2016-08-03
    • 2021-09-01
    • 2022-09-29
    • 1970-01-01
    • 2017-02-02
    • 2019-06-05
    • 1970-01-01
    • 2017-05-14
    • 2020-02-03
    相关资源
    最近更新 更多