AI-generated Key Takeaways
-
LinkPermissioncontrols the creation of hard links and symbolic links in Java. -
It has two target permission names: "hard" for creating hard links and "symbolic" for creating symbolic links.
-
Granting this permission is risky as it could allow unauthorized access to the file system.
-
LinkPermissioninherits methods fromBasicPermission,Permission,Object, andGuardfor permission management and security checks. -
Two constructors allow creating a
LinkPermissionwith just a name or with a name and actions (which should be empty or null).
The Permission class for link creation operations.
The following table provides a summary description of what the permission allows, and discusses the risks of granting code the permission.
| Permission Target Name | What the Permission Allows | Risks of Allowing this Permission |
|---|---|---|
| hard | Ability to add an existing file to a directory. This is sometimes known as creating a link, or hard link. | Extreme care should be taken when granting this permission. It allows linking to any file or directory in the file system thus allowing the attacker access to all files. |
| symbolic | Ability to create symbolic links. | Extreme care should be taken when granting this permission. It allows linking to any file or directory in the file system thus allowing the attacker to access to all files. |
Public Constructor Summary
Inherited Method Summary
Public Constructors
public LinkPermission (String name)
Constructs a LinkPermission with the specified name.
Parameters
| name | the name of the permission. It must be "hard" or "symbolic". |
|---|
Throws
| IllegalArgumentException | if name is empty or invalid |
|---|
public LinkPermission (String name, String actions)
Constructs a LinkPermission with the specified name.
Parameters
| name | the name of the permission; must be "hard" or "symbolic". |
|---|---|
| actions | the actions for the permission; must be the empty string or
null |
Throws
| IllegalArgumentException | if name is empty or invalid, or actions is a non-empty string |
|---|