Tomcat 7 - 在symlink目录

时间:2017-07-12 12:59:33

标签: java tomcat java-ee tomcat7

我试图在我的WebApp中符号链接的目录中解压缩并收到此错误

  

java.io.FileNotFoundException:/var/lib/tomcat/webapps/MyApp/_Apps/xxxxx.txt(Permission denied)

_Apps 是我的符号链接(由tomcat拥有,777)并且引用tomcat所拥有的目录(755)

我的tomcat版本 7

我已在我的应用上下文标记中加上 allowLinking =" true" (加上override =" true" )。

知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

我在这里看到几个问题,一些与你的问题有关,一些与最佳实践有关:

  • 您不应该在运行时将任何文件上传到您的网络应用程序:它们会被下一次部署覆盖(并且会丢失),而且您可以自行打开上传文件,例如attack.jsp - 包含可能最终运行服务器端的代码,在tomcat运行的帐户下
  • 真的,你应该写一个不同的目录
  • 这会让你的问题消失。
  • 为了暂时检查导致问题的原因:
    • 验证哪个用户tomcat正在运行
    • 验证此用户帐户是否具有对目录的写访问权限 - 更加自信:通过基础目录通过链接目录验证这一点,本机不使用该链接。 (您可以sudo -u tomcat /bin/bash手动尝试)
    • 检查目录所在的文件系统(可能以只读方式挂载)
  • 一旦您完成验证(或者甚至在此之前,不愿意您可以处理更高优先级 - 与安全相关的问题):回到列表的开头并更改您的实施。上传到其他文件夹。