14.4. 在 Java 安全管理器下运行子系统


Java 服务可以选择使用安全管理器,为要执行的应用程序定义不安全和安全操作。安装子系统后,它们会自动启用 Security Manager,这意味着每个 Tomcat 实例都从运行的安全管理器开始。

14.4.1. 关于安全管理器策略文件

当在 Java 安全管理器内运行的五个 Java 子系统(CA、T OCSP、KRA、TKS 和 TPS)运行时,它们使用三组策略的组合:
  • 位于 /usr/share/tomcat/conf 目录中的默认 Tomcat 策略中的 catalina.policy 文件;每当常规 Tomcat 文件更新时都会更新。
  • pki.policy 文件,位于由 子系统实例提供的 /var/lib/pki/instance_name/subsystem_type/conf 目录中。
  • /var/lib/pki/instance_name/subsystem_type/conf 目录中的 custom.policy 文件,其中包含用户定义的安全策略。
当 Tomcat 服务开始创建修改后的 catalina.policy 文件时,这三个文件也会放在 /var/lib/pki/instance_name/subsystem_type/conf 目录中,它用于实例。
默认 pki.policy 文件包含授予 PKI 子系统使用的 Tomcat、LDAP 和 symkey 服务不受限制的访问权限。例如:
   // These permissions apply to Tomcat java as utilized by PKI instances
	 grant codeBase "file:/usr/share/java/tomcat/-" {
       permission java.security.AllPermission;
   };
custom.policy 文件默认为空;管理员可在该文件中写入策略,除了给定的 PKI 策略和 Tomcat 策略外,它还将使用该文件。

14.4.2. 启动没有 Java 安全管理器的子系统实例

PKI Tomcat 实例下配置的所有 Java 子系统均会在 Java 安全管理器下自动运行(除非通过覆盖 /etc/pki/default.cfg 文件中的 [Tomcat] 部分中的 pki_security_manager=true 创建实例)。但是,可以启动或重启实例,并在不启动 Java 安全管理器的情况下运行 实例,如下所示。

过程 14.1. 在不使用 Java 安全管理器的情况下启动实例

  1. 停止该实例。
    # pki-server stop instance_name
  2. 编辑 /etc/sysconfig/instance_name 文件并关闭安全管理器:
    SECURITY_MANAGER="false"
  3. 启动实例。
    # pki-server start instance_name
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.