LinkPermission

  • LinkPermission controls 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.

  • LinkPermission inherits methods from BasicPermission, Permission, Object, and Guard for permission management and security checks.

  • Two constructors allow creating a LinkPermission with just a name or with a name and actions (which should be empty or null).

public final class LinkPermission extends BasicPermission

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

LinkPermission(String name)
Constructs a LinkPermission with the specified name.
LinkPermission(String name, String actions)
Constructs a LinkPermission with the specified name.

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