Module java.management

Class ManagementPermission

java.lang.Object
java.security.Permission
java.security.BasicPermission
java.lang.management.ManagementPermission
所有已实现的接口:
Serializable, Guard

public final class ManagementPermission extends BasicPermission
安全管理器在运行带有安全管理器的代码调用Java平台管理接口中定义的方法时将检查的权限。

以下表格提供了权限允许的摘要描述,并讨论了授予代码权限的风险。

表显示权限目标名称、权限允许的内容以及相关风险
权限目标名称 权限允许的内容 允许此权限的风险
control 能够控制Java虚拟机的运行特性,例如,启用和禁用类加载或内存系统的详细输出,设置内存池的阈值,以及启用和禁用线程争用监视支持。此权限控制的一些操作可能会泄露有关正在运行的应用程序的信息,例如 -verbose:class 标志。 这允许攻击者控制Java虚拟机的运行特性并导致系统行为异常。攻击者还可以访问与正在运行的应用程序相关的一些信息。
monitor 能够检索有关Java虚拟机的运行时信息,例如线程堆栈跟踪、所有加载的类名列表以及Java虚拟机的输入参数。 这允许恶意代码监视运行时信息并发现漏洞。

程序员通常不直接创建ManagementPermission对象。相反,它们是由安全策略代码根据读取安全策略文件而创建的。

自:
1.5
参见:
  • Constructor Details

    • ManagementPermission

      public ManagementPermission(String name)
      使用指定的名称构造一个ManagementPermission。
      参数:
      name - 权限名称。必须是"monitor"或"control"之一。
      抛出:
      NullPointerException - 如果namenull
      IllegalArgumentException - 如果name为空或无效。
    • ManagementPermission

      public ManagementPermission(String name, String actions) throws IllegalArgumentException
      构造一个新的ManagementPermission对象。
      参数:
      name - 权限名称。必须是"monitor"或"control"之一。
      actions - 必须是null或空字符串。
      抛出:
      NullPointerException - 如果namenull
      IllegalArgumentException - 如果name为空或参数无效。