catalina.out中有很多(Permission denied)

时间:2011-01-12 17:48:05

标签: linux apache permission-denied tomcat

如何安装Apache Web服务器和Apache tomcat以避免出现如下错误:

java.io.FileNotFoundException: /usr/local/apache-tomcat-7.0.5/work/Catalina/localhost/_/SESSIONS.ser (Permission denied)

在/usr/local/apache-tomcat-7.0.5/logs/catalina.out中

我想我应该为Apache用户做点什么,因为当我在tomcat文件夹上chmod 777 -R ./时,所有错误都会消失。

3 个答案:

答案 0 :(得分:21)

$ chmod -R 777 webapps temp logs work conf

非常危险,不要这样做,我写的“不做”吗?不要做!猜猜你的tomcat-users.xml与你的用户名和纯文本密码在哪里?

在UNIX上的任何地方给予世界读写执行,除了/ tmp(甚至那时,在prod中,从来没有这样做)是非常愚蠢的。并且,它使你的第一行,chown -R tomcat6完全没用。

确保tomcat以tomcat7运行(对于tomcat 6来说是tomcat6)并且只需执行:

$ cd $TOMCAT_BASE
$ chown -R tomcat7:tomcat7 webapps temp logs work conf
$ chmod -R 660 webapps temp logs work conf

[编辑]在评论后将770更改为660,因为无需执行相关文件。

如果您希望能够在那里读取,写入或执行某些内容,请将自己添加到tomcat7组。

答案 1 :(得分:2)

无法保证这样做的安全性,但

$ cd /usr/local/tomcat/ #or /usr/shared/tomcat6, whatever your $TOMCAT_BASE dir
$ chown -R tomcat6 webapps temp logs work conf
$ chmod -R 777 webapps temp logs work conf

works a treat针对这些情况。

我的tomcat安装被许可错误所困扰,但是打开大门因此修复了所有内容。

答案 2 :(得分:0)

使用较旧的Tomcat-6实现进入类似的情况......

...
SEVERE: Error deploying web application directory host-manager
java.io.FileNotFoundException: /opt/tomcat-6/conf/Catalina/localhost/host-manager.xml (Permission denied)
...

而且,webapp XML都在那里,所有权和权限都是“tomcat:tomcat”和“644”。

对我来说,解决方案是将总体权限设置为Tomcat更喜欢的权限,即“0755”。

并且,作为注意安全性的注释,该实现的server.xml使用JDBC Realm进行身份验证,因此我们甚至不使用tomcat-users.xml。因此,它是安装附带的默认文件,甚至注释掉其中的默认用户帐户(例如“tomcat”和“manager”)。我知道在Tomcat-7中,默认情况下会对tomcat-users.xml中的帐户进行注释。

HTH。