private int actionDeleteKeytab(ActionKeytabArgs keytabInfo) throws BadCommandArgumentsException, IOException { if (StringUtils.isEmpty(keytabInfo.folder)) { throw new BadCommandArgumentsException( "A valid destination keytab sub-folder name is required (e.g. 'security').\n" + CommonArgs.usage(serviceArgs, ACTION_KEYTAB)); } if (StringUtils.isEmpty(keytabInfo.keytab)) { throw new BadCommandArgumentsException("A keytab name is required."); } Path pkgPath = sliderFileSystem.buildKeytabInstallationDirPath(keytabInfo.folder); Path fileInFs = new Path(pkgPath, keytabInfo.keytab ); log.info("Deleting keytab {}", fileInFs); FileSystem sfs = sliderFileSystem.getFileSystem(); require(sfs.exists(fileInFs), "No keytab to delete found at %s", fileInFs.toUri()); sfs.delete(fileInFs, false); return EXIT_SUCCESS; }
private int actionListKeytab(ActionKeytabArgs keytabInfo) throws IOException { String folder = keytabInfo.folder != null ? keytabInfo.folder : StringUtils.EMPTY; Path keytabPath = sliderFileSystem.buildKeytabInstallationDirPath(folder); RemoteIterator<LocatedFileStatus> files = sliderFileSystem.getFileSystem().listFiles(keytabPath, true); log.info("Keytabs:"); while (files.hasNext()) { log.info("\t" + files.next().getPath().toString()); } return EXIT_SUCCESS; }
private int actionDeleteKeytab(ActionKeytabArgs keytabInfo) throws BadCommandArgumentsException, IOException { if (StringUtils.isEmpty(keytabInfo.folder)) { throw new BadCommandArgumentsException( "A valid destination keytab sub-folder name is required (e.g. 'security').\n" + CommonArgs.usage(serviceArgs, ACTION_KEYTAB)); } if (StringUtils.isEmpty(keytabInfo.keytab)) { throw new BadCommandArgumentsException("A keytab name is required."); } Path pkgPath = sliderFileSystem.buildKeytabInstallationDirPath(keytabInfo.folder); Path fileInFs = new Path(pkgPath, keytabInfo.keytab ); log.info("Deleting keytab {}", fileInFs); FileSystem sfs = sliderFileSystem.getFileSystem(); require(sfs.exists(fileInFs), "No keytab to delete found at %s", fileInFs.toUri()); sfs.delete(fileInFs, false); return EXIT_SUCCESS; }
private int actionListKeytab(ActionKeytabArgs keytabInfo) throws IOException { String folder = keytabInfo.folder != null ? keytabInfo.folder : StringUtils.EMPTY; Path keytabPath = sliderFileSystem.buildKeytabInstallationDirPath(folder); RemoteIterator<LocatedFileStatus> files = sliderFileSystem.getFileSystem().listFiles(keytabPath, true); log.info("Keytabs:"); while (files.hasNext()) { log.info("\t" + files.next().getPath().toString()); } return EXIT_SUCCESS; }
private int actionInstallKeytab(ActionKeytabArgs keytabInfo) throws BadCommandArgumentsException, IOException { Path srcFile = null; require(isSet(keytabInfo.folder), "A valid destination keytab sub-folder name is required (e.g. 'security').\n" + CommonArgs.usage(serviceArgs, ACTION_KEYTAB)); requireArgumentSet(Arguments.ARG_KEYTAB, keytabInfo.keytab); File keytabFile = new File(keytabInfo.keytab); require(keytabFile.isFile(), "Unable to access supplied keytab file at %s", keytabFile.getAbsolutePath()); srcFile = new Path(keytabFile.toURI()); Path pkgPath = sliderFileSystem.buildKeytabInstallationDirPath(keytabInfo.folder); FileSystem sfs = sliderFileSystem.getFileSystem(); sfs.mkdirs(pkgPath); sfs.setPermission(pkgPath, new FsPermission( FsAction.ALL, FsAction.NONE, FsAction.NONE)); Path fileInFs = new Path(pkgPath, srcFile.getName()); log.info("Installing keytab {} at {} and overwrite is {}.", srcFile, fileInFs, keytabInfo.overwrite); require(!(sfs.exists(fileInFs) && !keytabInfo.overwrite), "Keytab exists at %s. Use --overwrite to overwrite.", fileInFs.toUri()); sfs.copyFromLocalFile(false, keytabInfo.overwrite, srcFile, fileInFs); sfs.setPermission(fileInFs, new FsPermission(FsAction.READ_WRITE, FsAction.NONE, FsAction.NONE)); return EXIT_SUCCESS; }
private int actionInstallKeytab(ActionKeytabArgs keytabInfo) throws BadCommandArgumentsException, IOException { Path srcFile = null; require(isSet(keytabInfo.folder), "A valid destination keytab sub-folder name is required (e.g. 'security').\n" + CommonArgs.usage(serviceArgs, ACTION_KEYTAB)); requireArgumentSet(Arguments.ARG_KEYTAB, keytabInfo.keytab); File keytabFile = new File(keytabInfo.keytab); require(keytabFile.isFile(), "Unable to access supplied keytab file at %s", keytabFile.getAbsolutePath()); srcFile = new Path(keytabFile.toURI()); Path pkgPath = sliderFileSystem.buildKeytabInstallationDirPath(keytabInfo.folder); FileSystem sfs = sliderFileSystem.getFileSystem(); sfs.mkdirs(pkgPath); sfs.setPermission(pkgPath, new FsPermission( FsAction.ALL, FsAction.NONE, FsAction.NONE)); Path fileInFs = new Path(pkgPath, srcFile.getName()); log.info("Installing keytab {} at {} and overwrite is {}.", srcFile, fileInFs, keytabInfo.overwrite); require(!(sfs.exists(fileInFs) && !keytabInfo.overwrite), "Keytab exists at %s. Use --overwrite to overwrite.", fileInFs.toUri()); sfs.copyFromLocalFile(false, keytabInfo.overwrite, srcFile, fileInFs); sfs.setPermission(fileInFs, new FsPermission(FsAction.READ_WRITE, FsAction.NONE, FsAction.NONE)); return EXIT_SUCCESS; }