java – Tomcat不解析.war符号链接

前端之家收集整理的这篇文章主要介绍了java – Tomcat不解析.war符号链接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个开发机器,我以前安装了Tomcat,只是运行它作为正在开发工作的同一个用户.我将$CATALINA_HOME / webapps中的符号链接放入到我构建的WAR的目录中,每次我更新构建tomcat后跟随符号链接提取新的WAR.没有任何问题.

但是为了准备将其移动到生产机器,我创建了一个具有受限权限的新用户,并将tomcat设置为以该用户身份运行,就像您出于安全原因而做的那样.

现在tomcat不再遵循符号链接了,即使我给它的用户所有权的WAR文件,并设置权限为777.我没有看到任何东西出现在catalina.out或每日日志关于发生了什么.

这只是复制WAR的测试周期的一个步骤,所以这并不是太关键,但是我仍然很好奇发生了什么.

webapps目录下的权限:

drwxr-xr-x 3 tomcat tomcat  4096 Dec 11 14:34 webapps

我正在建立的目录的权限:

drwxrwxr-x 11 tomcat   tomcat   4096 Dec 11 14:34 target

WAR文件maven的权限产生:

-rw-rw-r-- 1 tomcat tomcat 16822856 Dec 11 14:34 [webapp].war

我创建的符号链接的权限:

lrwxrwxrwx 1 tomcat tomcat 60 Dec 11 17:33 [webapp].war -> [webapp directory]/[webapp].war

解决方法

我怀疑tomcat用户在包含真实WAR文件的嵌套文件夹之一上没有遍历权限.正如你所说,他有权限使用tomcat文件夹,所以他可以启动Tomcat,他可以看到符号链接存在.

也许您的构建过程在私有文件夹中创建WAR文件,假设用户glazius的主文件夹,即使该文件具有正确的权限,Tomcat用户也无法读取该文件.

您可以轻松使用:

ls -Cf

在你的webapps文件夹里面检查符号链接颜色:如果是红色的,那么用户无法访问该文件,如果它是蓝色的,它应该已经没有问题了.

如果它是红色的,请确保您的WAR文件的每个文件夹对另一个组具有遍历(x)权限.如果路径为/home/glazius/workspace/target/webapp.war,请执行以下命令:

chmod o+x /home/glazius
chmod o+x /home/glazius/workspace
chmod o+x /home/glazius/workspace/target
原文链接:https://www.f2er.com/java/125821.html

猜你在找的Java相关文章