Saturday, January 25, 2014

Set Posix File Permissions

Source:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.attribute.PosixFilePermission;
import java.util.HashSet;
import java.util.Set;

public class FilePermissions {

   public static void main(String[] args) throws IOException {

      //using PosixFilePermission to set file permissions 777
      Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
      //add owners permission
      perms.add(PosixFilePermission.OWNER_READ);
      perms.add(PosixFilePermission.OWNER_WRITE);
      perms.add(PosixFilePermission.OWNER_EXECUTE);
      //add group permissions
      perms.add(PosixFilePermission.GROUP_READ);
      perms.add(PosixFilePermission.GROUP_WRITE);
      perms.add(PosixFilePermission.GROUP_EXECUTE);
      //add others permissions
      perms.add(PosixFilePermission.OTHERS_READ);
      perms.add(PosixFilePermission.OTHERS_WRITE);
      perms.add(PosixFilePermission.OTHERS_EXECUTE);

      Files.setPosixFilePermissions(Paths.get("/tmp/file.txt"), perms);
   }
}

Output:
   $ ls -l /tmp/file.txt
   -r--r--r-- 1 dennis dennis 0 Jan 25 16:44 /tmp/file.txt

   $ java FilePermissions 

   $ ls -l /tmp/file.txt
   -rwxrwxrwx 1 dennis dennis 0 Jan 25 16:44 /tmp/file.txt

Blog Archive