【问题标题】:Tomcat webapp unable to create file in directory as permission deniedTomcat webapp无法在目录中创建文件,因为权限被拒绝
【发布时间】:2019-03-20 12:36:58
【问题描述】:

在我的项目中,我创建了一个 servlet,用户可以在其上上传媒体文件。这些文件将根据上下文参数中的路径保存。在我家的 Windows 电脑上,它运行良好。但是,在我的 linux vps 上,localhost.log 文件中出现此权限被拒绝错误。

java.io.IOException: Permission denied
        at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.base/java.io.File.createNewFile(File.java:1024)
        at post.Upload.doPost(Upload.java:194)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

该文件应该在 /var/sociogram/media/public 上创建和写入。我试过了

chown -R tomcat:tomcat /var/sociogram/media 

并且当我这样做时对用户具有读写权限

ls -l /var/sociogram/media

web.xml: https://github.com/Manoharan-Ajay-Anand/sociogram/blob/master/Sociogram/src/main/webapp/WEB-INF/web.xml

小服务程序: https://github.com/Manoharan-Ajay-Anand/sociogram/blob/master/Sociogram/src/main/java/post/Upload.java

【问题讨论】:

  • 你能把日志贴在这里吗?
  • @htopiwala 我已经粘贴了日志。这是我唯一拥有的东西。 catalina.out 没有打印异常

标签: java tomcat servlets centos


【解决方案1】:

主要问题是我的目录只有读写权限。我意识到对于 unix 系统,必须为目录授予 x 权限,以便程序可以横向目录。没有它读,写权限是没用的。

【讨论】:

    【解决方案2】:

    但是,在我的 linux vps 上,localhost.log 文件中出现此权限被拒绝错误。

    该错误消息中提到的文件路径——它存在吗?

    您的 $CATALINA_BASE 目录中有“temp”目录吗? (以及通常的“conf”、“webapps”、“logs”和“work”目录)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-13
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多