tomcat 的权限问题

tomcat 的权限问题

我按照以下方法安装了 Tomcat 7Ubuntu 指南。服务器正在运行并向我提供了“它正常运行!”页面http://localhost:8080/

现在我想使用 Netbeans 设置自己的 Web 应用程序。我生成了一个新的Web 项目使用Java EE 6和Tomcat 7。用户对/var/lib/tomcat7/conf/tomcat-users.xml文件进行了正确的配置。

当我运行项目时一切正常,但当我打开浏览器时它显示500 错误

文件权限:

lucio@lucio-pc:/$ ll /var/lib/tomcat7/logs
lrwxrwxrwx 1 root root 17 jul 24 18:07 /var/lib/tomcat7/logs -> ../../log/tomcat7/
lucio@lucio-pc:/$ ll /var/log/tomcat7/
total 136
drwxr-x---  2 tomcat7 adm      4096 ago 28 10:50 ./
drwxrwxr-x 15 root    syslog   4096 ago 28 09:29 ../
-rw-r--r--  1 tomcat7 tomcat7   800 ago 26 17:23 catalina.2014-08-26.log.gz
-rw-r--r--  1 tomcat7 tomcat7  5173 ago 27 21:59 catalina.2014-08-27.log
-rw-r--r--  1 tomcat7 tomcat7 31285 ago 28 10:36 catalina.2014-08-28.log
-rw-r--r--  1 tomcat7 root    44192 ago 28 10:36 catalina.out
-rw-r--r--  1 tomcat7 tomcat7    45 ago 26 16:19 localhost.2014-08-26.log.gz
-rw-r--r--  1 tomcat7 tomcat7     0 ago 27 11:15 localhost.2014-08-27.log
-rw-r--r--  1 tomcat7 tomcat7   433 ago 28 09:49 localhost.2014-08-28.log
-rw-r--r--  1 tomcat7 tomcat7  7435 ago 26 17:23 localhost_access_log.2014-08-26.txt
-rw-r--r--  1 tomcat7 tomcat7     0 ago 27 11:15 localhost_access_log.2014-08-27.txt
-rw-r--r--  1 tomcat7 tomcat7 15186 ago 28 09:58 localhost_access_log.2014-08-28.txt

我不明白为什么无法访问这些文件,您可以看到用户和组tomcat7对这些文件具有权限。JVM 中是否有需要对这些文件具有权限的用户?

我也尝试过如上所述更改文件所有权这里但它根本没有改变。


/etc/default/tomcat7文件有:

TOMCAT7_USER=tomcat7
TOMCAT7_GROUP=tomcat7

所以我猜它是以tomcat7用户身份运行。


我将我的用户添加到tomcat7组中:

sudo usermod -aG tomcat7 $USER

然后重新启动了机器,但问题仍然存在。

答案1

我注意到这里有两个问题。

错误日志中的两行对我来说很突出:

SEVERE: Cannot find specified temporary folder at /var/lib/tomcat7/temp  

和:

java.io.FileNotFoundException: /var/lib/tomcat7/conf/tomcat-users.xml (Permission denied)

和卢西奥一起做一些诊断,我发现该tomcat-users.xml文件不属于 Tomcat,而是root。通过运行以下命令将权限更改为适当的权限:

sudo chown tomcat7:tomcat7 /var/lib/tomcat7/conf/tomcat-users.xml

另外,创建具有 tomcat 权限的文件夹/var/lib/tomcat7/temp,如下所示:

sudo mkdir /var/lib/tomcat7/temp && sudo chown -R tomcat7:tomcat7 /var/lib/tomcat7/temp

最后,应通过让用户/组/var/lib/tomcat7/logs拥有来修复日志。还应由用户和组拥有。tomcat7/var/log/tomcat7/tomcat7

相关内容