private FileAccessPermission buildPermission(org.aesh.command.settings.FileAccessPermission historyFilePermission) { if (historyFilePermission == null) { return null; } FileAccessPermission perm = new FileAccessPermission(); perm.setExecutable(historyFilePermission.isExecutable()); perm.setExecutableOwnerOnly(historyFilePermission.isExecutableOwnerOnly()); perm.setReadable(historyFilePermission.isReadable()); perm.setReadableOwnerOnly(historyFilePermission.isReadableOwnerOnly()); perm.setWritable(historyFilePermission.isWritable()); perm.setWritableOwnerOnly(historyFilePermission.isWritableOwnerOnly()); return perm; }
/** * Write the content of the history buffer to file * * @throws IOException io */ private void writeFile() throws IOException { historyFile.delete(); try (FileWriter fw = new FileWriter(historyFile)) { for(int i=0; i < size();i++) fw.write(Parser.fromCodePoints(get(i)) + (Config.getLineSeparator())); } if (historyFilePermission != null) { historyFile.setReadable(false, false); historyFile.setReadable(historyFilePermission.isReadable(), historyFilePermission.isReadableOwnerOnly()); historyFile.setWritable(false, false); historyFile.setWritable(historyFilePermission.isWritable(), historyFilePermission.isWritableOwnerOnly()); historyFile.setExecutable(false, false); historyFile.setExecutable(historyFilePermission.isExecutable(), historyFilePermission.isExecutableOwnerOnly()); } }
private Settings createSettings(InputStream consoleInput) { SettingsBuilder settings = new SettingsBuilder(); if (consoleInput != null) { settings.inputStream(consoleInput); } settings.outputStream(cliPrintStream); settings.outputRedefined(redefinedOutput); settings.disableHistory(!config.isHistoryEnabled()); settings.outputPaging(config.isOutputPaging()); settings.historyFile(new File(config.getHistoryFileDir(), config.getHistoryFileName())); settings.historySize(config.getHistoryMaxSize()); // Modify Default History File Permissions FileAccessPermission permissions = new FileAccessPermission(); permissions.setReadableOwnerOnly(true); permissions.setWritableOwnerOnly(true); settings.historyFilePermission(permissions); return settings.create(); }
private Settings createSettings(InputStream consoleInput) { SettingsBuilder settings = new SettingsBuilder(); if (consoleInput != null) { settings.inputStream(consoleInput); } settings.outputStream(cliPrintStream); settings.outputRedefined(redefinedOutput); settings.disableHistory(!config.isHistoryEnabled()); settings.outputPaging(config.isOutputPaging()); settings.historyFile(new File(config.getHistoryFileDir(), config.getHistoryFileName())); settings.historySize(config.getHistoryMaxSize()); // Modify Default History File Permissions FileAccessPermission permissions = new FileAccessPermission(); permissions.setReadableOwnerOnly(true); permissions.setWritableOwnerOnly(true); settings.historyFilePermission(permissions); return settings.create(); }