Open In App

java.nio.file.LinkPermission Class in Java

Last Updated : 19 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

The java.nio.file.LinkPermission class handles permissions for link creation operations. The permission allowed by these class are as follows:

Permission name

What permission allows

Risk of granting this permission

hard

This permission allows adding an existing file to a directory. This operation is also known as creating a hard link.

The attacker may have access to all files because this permission allows linking to any file in the file system.

symbolic

This permission allows creating file pointers. This operation is also known as creating soft/symbolic link.

The attacker may have access to all files because this permission allows linking to any file in the file system.

Class declaration:

public final class LinkPermission
extends BasicPermission

Constructor:

Constructor Description 
LinkPermission(String name) This constructor is used to create a LinkPermission with the specified name.
LinkPermission(String name, String actions) This constructor is used to create a LinkPermission with the specified name and action.

 Methods inherited from class java.security.BasicPermission:

Method Description
equals(Object obj) This method checks whether the two BasicPermission objects are equal or not
getActions() This method returns the actions in String format
hashCode() This method returns the hash code value for this object
implies(Permission permission) This method checks whether the given permission is implied by this object or not
newPermissionCollection() This method returns a new PermissionCollection object

Example 1: Java program to create a new hard LinkPermission

Java




// Java program to create a new hard LinkPermission
import java.nio.file.LinkPermission;
import java.security.Permission;
 
// Driver class
public class GFG {
    // Main method
    public static void main(String[] args)
    {
        try {
            // Creating a new LinkPermission object
            Permission permission
                = new LinkPermission("hard");
           
            // Printing name of the permission
            System.out.println(permission.getName());
           
            // Printing class of the permission object
            System.out.println(permission.getClass());
           
            // Printing hash value of the permission object
            System.out.println(permission.hashCode());
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}


Output

hard
class java.nio.file.LinkPermission
3195115

Example 2: Java program to create a new symbolic LinkPermission

Java




// Java program to create a new symbolic LinkPermission
import java.nio.file.LinkPermission;
import java.security.Permission;
 
// Driver class
public class GFG {
    // Main method
    public static void main(String[] args)
    {
        try {
           
            // Creating a new LinkPermission object
            Permission permission
                = new LinkPermission("symbolic");
           
            // Printing name of the permission
            System.out.println(permission.getName());
           
            // Printing class of the permission object
            System.out.println(permission.getClass());
           
            // Printing hash value of the permission object
            System.out.println(permission.hashCode());
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}


Output

symbolic
class java.nio.file.LinkPermission
1787985074

Example 3: Java program to compare two LinkPermission objects

Java




// Java program to compare two LinkPermission objects
import java.nio.file.LinkPermission;
import java.security.Permission;
 
// Driver class
public class GFG {
    // Main method
    public static void main(String[] args)
    {
        try {
 
            Permission hardPermission
                = new LinkPermission("hard");
            Permission softPermission
                = new LinkPermission("symbolic");
           
            // Checking is both permissions are equal or not
            if (hardPermission.equals(softPermission)) {
                System.out.println(
                    "Both permission are equal");
            }
            else {
                System.out.println(
                    "Both permission are not equal");
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}


Output

Both permission are not equal


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads