【问题标题】:a lots of (Permission denied) in catalina.outcatalina.out 中有很多(权限被拒绝)
【发布时间】:2011-06-08 00:13:46
【问题描述】:

如何安装 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 ./ 时,所有错误都会消失。

【问题讨论】:

  • 将 SESSSIONS.ser 设置为 Apache 的用户/组和/或将其设置为模式 666
  • 这个问题仅限于 sessions.rer 吗?如果我只使用这个文件,今晚我是否可能在其他文件上遇到同样的错误?我想我应该在 /usr/local/apache-tomcat-7.0.5 目录上执行此操作,但我不确定这是否仅限于 /usr/local/apache-tomcat-7.0.5。通过这个 chown 或 chmod 666 我的服务器安全会发生什么?
  • 似乎这个问题应该在姐妹网站 ServerFault.com 上,而不是在 Stack Overflow 上,因为它不涉及特定的编程问题。

标签: linux apache permission-denied tomcat


【解决方案1】:
$ 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

[EDIT] 在评论后将770 更改为660,因为不需要执行相关文件。

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

【讨论】:

  • 770 使配置文件可执行
  • 但它会使目录无法访问
【解决方案2】:

在旧的 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 领域进行身份验证,因此我们甚至不使用 tomcat-users.xml。因此,它是安装附带的默认文件,甚至注释掉了其中的默认用户帐户(例如“tomcat”和“manager”)。我知道在Tomcat-7中,tomcat-users.xml中的账号默认是注释掉的。

HTH。

【讨论】:

    【解决方案3】:

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

    $ 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 安装因权限错误而陷入困境,但打开大门从而解决了所有问题。

    【讨论】:

    • 将配置文件设置为 777 = FAIL
    • @DrStrangepork - 同意。不要这样做。它可能会解决您眼前的问题,但这是一个巨大的安全漏洞,类似于因为您将自己锁在屋外而砸碎了自己的窗户。
    猜你喜欢
    • 2012-02-09
    • 2015-08-30
    • 1970-01-01
    • 2018-06-11
    • 2018-07-19
    • 2018-02-05
    • 2015-04-28
    相关资源
    最近更新 更多