Class FilePermissionHelper

java.lang.Object
org.italiangrid.voms.util.FilePermissionHelper

public class FilePermissionHelper extends Object
An helper class that does simple unix file permissions checks (until we get proper support for this stuff in Java 7)
Author:
Andrea Ceccanti
  • Field Details

    • PRIVATE_KEY_PERMS

      public static final EnumSet<FilePermissionHelper.PosixFilePermission> PRIVATE_KEY_PERMS
      Required file permissions for the private key file
    • PRIVATE_KEY_PERMS_STR

      public static final String PRIVATE_KEY_PERMS_STR
      String representation of private key required permissions.
    • LS_CMD_TEMPLATE

      public static final String LS_CMD_TEMPLATE
      The command used to retrieve file permissions for a given file
      See Also:
    • CHMOD_CMD_TEMPLATE

      public static final String CHMOD_CMD_TEMPLATE
      The command used to set file permissions on a given file
      See Also:
  • Constructor Details

    • FilePermissionHelper

      public FilePermissionHelper()
  • Method Details

    • checkProxyPermissions

      public static void checkProxyPermissions(String proxyFile) throws IOException
      Checks whether a proxy file has the right permissions
      Parameters:
      proxyFile - the file to be checked
      Throws:
      IOException - if an error occurs checking file attributes
      FilePermissionError - if permissions are not as expected
    • checkPrivateKeyPermissions

      public static void checkPrivateKeyPermissions(String privateKeyFile) throws IOException
      Checks whether a private key file has the 'right' permissions
      Parameters:
      privateKeyFile - the file to be checked
      Throws:
      IOException - if an error occurs checking file attributes
      FilePermissionError - if the permissions are not correct
    • checkPKCS12Permissions

      public static void checkPKCS12Permissions(String pkcs12File) throws IOException
      Chekcs whether a pkcs12 file has the 'right' permissions
      Parameters:
      pkcs12File - the file to be checked
      Throws:
      IOException - if an error occurs checking file attributes
      FilePermissionError - if the permissions are not correct
    • matchesFilePermissions

      public static void matchesFilePermissions(String filename, FilePermissionHelper.PosixFilePermission p) throws IOException
      Checks that a given file has the appropriate unix permissions. This naive implementation just fetches the output of ls -al on a given file and matches the resulting string with the permissionString passed as argument. So the permissionString must be something like:
       -rw-------
       
      Parameters:
      filename - the filename to be checked
      p - the permission string that must be matched
      Throws:
      IOException - if an error occurs checking file attributes
      FilePermissionError - if file permissions are not as requested
    • setProxyPermissions

      public static void setProxyPermissions(String filename)
    • setPKCS12Permissions

      public static void setPKCS12Permissions(String filename)
    • setPrivateKeyPermissions

      public static void setPrivateKeyPermissions(String filename)
    • setFilePermissions

      public static void setFilePermissions(String filename, FilePermissionHelper.PosixFilePermission perm)