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)
  • 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
    • filenameSanityChecks

      private static void filenameSanityChecks(String filename)
    • getFilePermissions

      private static String getFilePermissions(String filename)
    • 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)