如何在有限的SELinux域中运行Java应用程序?

如何在有限的SELinux域中运行Java应用程序?

我正在使用一个带有自己的 SELinux 类型标签的 Java 应用程序。 Java 将其作为unconfined_t而不是标记类型来执行。

Java 标记为bin_t( ls -Z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java)

但是ps -efZ | grep java 显示它运行为unconfined_t.

我怎样才能让java运行为bin_t?如何让 java 应用程序在正确的上下文中运行?

目标是让应用程序在其自己的上下文中运行,或者至少像bin_tJava 启动时一样运行。

发行版是 CentOS 7。

答案1

bin_t是文件类型,而不是进程域。进程通过以下方式进入受限域入口点,通常是标有入口点文件类型的可执行文件,例如httpd_exec_thttpd 守护程序。

切入点在策略中定义。如果您有定义进程域的策略,它可能也定义了入口点。使用正确的入口点标签来标记用于启动应用程序的可执行文件(脚本等)。

相关内容