AUTHBIND:无法在 redhat 主机上使用 tomcat 6 进行 authbind

AUTHBIND:无法在 redhat 主机上使用 tomcat 6 进行 authbind

我有一台安装了 tomcat 6.0.39 的 redhat linux 服务器。在部署任何 Web 应用程序并向公众开放服务器之前,我想了解如何使用绑定到 80 端口的 tomcat 用户来运行 tomcat 启动脚本。

这是我到目前为止所做的:

  1. 更改端口 8080 -> 80;我的 server.xml 中的 8443 -> 443
  2. tomcat 目录归我的 tomcat 用户所有。
  3. 安装了 authbind。
  4. 在 /etc/authbind/byport 下,我创建了两个文件 80、443 并使它们可执行并将所有者更改为 tomcat。
  5. 在startup.sh内部,我将 (exec "$PGDIR"/"$EXECUTABLE" start "$@") 更改为 ("exec authbind --deep "$PGDIR"/"$EXECUTABLE" start "$@")

    按照这些步骤(这几乎是大多数文章告诉你要做的)之后,我在启动 Tomcat 时仍然遇到权限被拒绝的情况,抱怨它无法绑定端口 80、443。

    如果您能提供任何帮助,我将不胜感激,谢谢!

答案1

我发现这些略有不同的步骤可能会对您有所帮助。

  1. 安装authbind
  2. 使端口 80 可供使用authbind(您需要是 root):

    $ sudo touch /etc/authbind/byport/80
    $ sudo chmod 500 /etc/authbind/byport/80
    $ sudo chown glassfish /etc/authbind/byport/80
    
  3. 将 IPv4 设置为默认值(authbind当前不支持 IPv6)。为此,请创建TOMCAT/bin/setenv.sh包含以下内容的文件:

    CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
    
  4. 改变startup.sh

    exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
    # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
    

参考

相关内容