Tomcat 的 SuExec 吗?

Tomcat 的 SuExec 吗?

我们正在运行一个(基于 cPanel/WHM)服务器,其中主要包含 PHP 应用程序。它们使用 Apache 的 suExec 组件以其所有者的权限执行。

我们正在考虑将一些核心应用程序迁移到 Java,在 Tomcat(使用 Apache 代理)中运行,这显然可以从 WHM 中轻松安装。但是,有没有办法保留 suExec 功能,以便 Java 应用程序也能以正确的权限执行?

答案1

Tomcat 仅作为单(多线程)进程运行,因此无法将应用程序部署到$CATALINA_BASE不同的用户所在的同一运行中。

如果您必须在不同的用户下运行不同的 Web 应用程序,则必须安装单独的 Tomcat 实例(或至少设置单独的 $CATALINA_BASE 目录)。

如果您想要以不同的用户身份运行,因为某些应用程序需要特定的安全权限,那么您可能还会研究使用安全经理

答案2

在我完成的所有 Tomcat 部署中,Tomcat 实例都以用户“tomcat”的身份在高号端口(例如 8080)上运行。然后使用前端 Web 服务器(Apache?),我们将传入的连接代理到高号端口。

这将允许非 root Tomcat,我认为它是目前大多数 Linux 发行版的默认设置。

或者您希望在 Tomcat 内部运行多个应用程序,每个应用程序都有自己的用户?

相关内容