LinkPermission (Java Platform SE 8 )
Keywords: java.nio.file.LinkPermission class
Date: 2026-08-19

compact1, compact2, compact3
java.nio.file

## Class LinkPermission

- java.lang.Object
- - java.security.Permission
  - - java.security.BasicPermission
    - - java.nio.file.LinkPermission

- All Implemented Interfaces:
    Serializable, Guard

      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.

  Since:
    1.7
  See Also:
    `Files.createLink(java.nio.file.Path, java.nio.file.Path)`, `Files.createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LinkPermission(String name)` Constructs a `LinkPermission` with the specified name.
    `LinkPermission(String name, String actions)` Constructs a `LinkPermission` with the specified name.

  - ### Method Summary

    - ### Methods inherited from class java.security.BasicPermission

      `equals, getActions, hashCode, implies, newPermissionCollection`

    - ### Methods inherited from class java.security.Permission

      `checkGuard, getName, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### LinkPermission

          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

    - #### LinkPermission

          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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.