java.lang.Object
java.security.Permission
java.security.BasicPermission
com.sun.tools.attach.AttachPermission
- 所有已实现的接口:
-
Serializable
,Guard
当设置了一个
SecurityManager
时,当代码调用VirtualMachine.attach
来连接到目标虚拟机时,将检查此权限。当创建一个AttachProvider
时,也会检查此权限。
一个AttachPermission
对象包含一个名称(也称为“目标名称”),但没有操作列表;你要么有命名权限,要么没有。以下表格提供了权限允许的摘要描述,并讨论了授予代码权限的风险。
权限目标名称 | 权限允许的内容 | 允许此权限的风险 |
---|---|---|
attachVirtualMachine | 能够连接到另一个Java虚拟机并在该VM中加载代理。 | 这允许攻击者控制目标VM,可能导致其行为异常。 |
createAttachProvider | 能够创建一个AttachProvider 实例。 |
这允许攻击者创建一个AttachProvider,可能被用于连接到其他Java虚拟机。 |
程序员通常不直接创建AttachPermission对象。相反,它们是由基于读取安全策略文件的安全策略代码创建的。
- 参见:
-
Constructor Summary
ConstructorDescriptionAttachPermission
(String name) 构造一个新的AttachPermission对象。AttachPermission
(String name, String actions) 构造一个新的AttachPermission对象。 -
Method Summary
Methods declared in class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
AttachPermission
构造一个新的AttachPermission对象。- 参数:
-
name
- 权限名称。必须是"attachVirtualMachine"或"createAttachProvider"之一。 - 抛出:
-
NullPointerException
- 如果名称为null
。 -
IllegalArgumentException
- 如果名称无效。
-
AttachPermission
构造一个新的AttachPermission对象。- 参数:
-
name
- 权限名称。必须是"attachVirtualMachine"或"createAttachProvider"之一。 -
actions
- 未使用,应为null
或空字符串。 - 抛出:
-
NullPointerException
- 如果名称为null
。 -
IllegalArgumentException
- 如果参数无效。
-