13

我如何安装 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 用户做点什么,因为当我chmod 777 -R ./打开tomcat 文件夹中的所有错误都消失了。

4

3 回答 3

24
$ chmod -R 777 webapps temp logs work conf

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

在 UNIX 上除了 /tmp 之外的任何地方都提供世界读写执行(即使那样,在 prod 中,也永远不要这样做)是非常愚蠢的。而且,它使您的第一行 chown -R tomcat6 完全无用。

确保 tomcat 作为 tomcat7 运行(它是 tomcat6 的 tomcat 6)并简单地执行:

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

[编辑] 更改770660以下评论,因为有问题的文件不需要执行。

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

于 2013-09-18T10:05:00.353 回答
5

不能保证这样做的安全性,但是

$ 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

适用于这些情况。

我的 tomcat 安装因权限错误而陷入困境,但打开大门从而解决了所有问题。

于 2011-03-22T21:38:57.083 回答
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。

于 2015-03-07T01:01:26.667 回答