List of usage examples for java.nio.file.attribute PosixFilePermission OTHERS_EXECUTE
PosixFilePermission OTHERS_EXECUTE
To view the source code for java.nio.file.attribute PosixFilePermission OTHERS_EXECUTE.
Click Source Link
From source file:org.esa.s2tbx.dataio.gdal.GDALInstaller.java
private static void setExecutablePermissions(Path executablePathName) { if (IS_OS_UNIX) { Set<PosixFilePermission> permissions = new HashSet<>(Arrays.asList(PosixFilePermission.OWNER_READ, PosixFilePermission.OWNER_WRITE, PosixFilePermission.OWNER_EXECUTE, PosixFilePermission.GROUP_READ, PosixFilePermission.GROUP_EXECUTE, PosixFilePermission.OTHERS_READ, PosixFilePermission.OTHERS_EXECUTE)); try {// w w w. jav a2s . c o m Files.setPosixFilePermissions(executablePathName, permissions); } catch (IOException e) { // can't set the permissions for this file, eg. the file was installed as root // send a warning message, user will have to do that by hand. logger.log(Level.SEVERE, "Can't set execution permissions for executable " + executablePathName.toString() + ". If required, please ask an authorised user to make the file executable.", e); } } }
From source file:io.hops.hopsworks.common.security.CertificateMaterializer.java
@PostConstruct public void init() { File tmpDir = new File(settings.getHopsworksTmpCertDir()); if (!tmpDir.exists()) { throw new IllegalStateException( "Transient certificates directory <" + tmpDir.getAbsolutePath() + "> does NOT exist!"); }// ww w . j ava 2 s . c om try { PosixFileAttributeView fileView = Files.getFileAttributeView(tmpDir.toPath(), PosixFileAttributeView.class, LinkOption.NOFOLLOW_LINKS); Set<PosixFilePermission> permissions = fileView.readAttributes().permissions(); boolean ownerRead = permissions.contains(PosixFilePermission.OWNER_READ); boolean ownerWrite = permissions.contains(PosixFilePermission.OWNER_WRITE); boolean ownerExecute = permissions.contains(PosixFilePermission.OWNER_EXECUTE); boolean groupRead = permissions.contains(PosixFilePermission.GROUP_READ); boolean groupWrite = permissions.contains(PosixFilePermission.GROUP_WRITE); boolean groupExecute = permissions.contains(PosixFilePermission.GROUP_EXECUTE); boolean othersRead = permissions.contains(PosixFilePermission.OTHERS_READ); boolean othersWrite = permissions.contains(PosixFilePermission.OTHERS_WRITE); boolean othersExecute = permissions.contains(PosixFilePermission.OTHERS_EXECUTE); // Permissions should be 750 if ((ownerRead && ownerWrite && ownerExecute) && (groupRead && !groupWrite && groupExecute) && (!othersRead && !othersWrite & !othersExecute)) { String owner = fileView.readAttributes().owner().getName(); String group = fileView.readAttributes().group().getName(); String permStr = PosixFilePermissions.toString(permissions); LOG.log(Level.INFO, "Passed permissions check for " + tmpDir.getAbsolutePath() + ". Owner: " + owner + " Group: " + group + " permissions: " + permStr); } else { throw new IllegalStateException( "Wrong permissions for " + tmpDir.getAbsolutePath() + ", it should be 0750"); } } catch (UnsupportedOperationException ex) { LOG.log(Level.WARNING, "Associated filesystem is not POSIX compliant. " + "Continue without checking the permissions of " + tmpDir.getAbsolutePath() + " This might be a security problem."); } catch (IOException ex) { throw new IllegalStateException( "Error while getting filesystem " + "permissions of " + tmpDir.getAbsolutePath(), ex); } try { FileUtils.cleanDirectory(tmpDir); } catch (IOException ex) { LOG.log(Level.WARNING, "Could not clean directory " + tmpDir.getAbsolutePath() + " during startup, there might be stale " + "certificates", ex); } transientDir = tmpDir.getAbsolutePath(); String delayRaw = settings.getCertificateMaterializerDelay(); DELAY_VALUE = settings.getConfTimeValue(delayRaw); DELAY_TIMEUNIT = settings.getConfTimeTimeUnit(delayRaw); try { String hostAddress = InetAddress.getLocalHost().getHostAddress(); long threadId = Thread.currentThread().getId(); String lock_identifier = hostAddress + "_" + threadId; lock_id = lock_identifier.length() <= 30 ? lock_identifier : lock_identifier.substring(0, 30); } catch (UnknownHostException ex) { throw new IllegalStateException(ex); } }
From source file:com.facebook.buck.util.unarchive.UntarTest.java
private void extractsFiles(ArchiveFormat format, Optional<Boolean> writeSymlinksLast) throws IOException { ImmutableList<Path> expectedPaths = ImmutableList.of(getDestPath("root", "echo.sh"), getDestPath("root", "alternative", "Main.java"), getDestPath("root", "alternative", "Link.java"), getDestPath("root", "src", "com", "facebook", "buck", "Main.java"), getDestPath("root_sibling", "Other.java")); ImmutableList.Builder<Path> expectedDirsBuilder = ImmutableList.builder(); expectedDirsBuilder.add(OUTPUT_SUBDIR); expectedDirsBuilder.add(getDestPath("root")); expectedDirsBuilder.add(getDestPath("root", "alternative")); expectedDirsBuilder.add(getDestPath("root", "src")); expectedDirsBuilder.add(getDestPath("root", "src", "com")); expectedDirsBuilder.add(getDestPath("root", "src", "com", "facebook")); expectedDirsBuilder.add(getDestPath("root", "src", "com", "facebook", "buck")); expectedDirsBuilder.add(getDestPath("root_sibling")); expectedDirsBuilder.add(getDestPath("root", "empty_dir")); ImmutableList<Path> expectedDirs = expectedDirsBuilder.build(); Path archivePath = getTestFilePath(format.getExtension()); Untar unarchiver = (Untar) format.getUnarchiver(); ImmutableSet<Path> unarchivedFiles; if (writeSymlinksLast.isPresent()) { unarchivedFiles = unarchiver.extractArchive(archivePath, filesystem, Paths.get("output_dir"), Optional.empty(), ExistingFileMode.OVERWRITE_AND_CLEAN_DIRECTORIES, PatternsMatcher.EMPTY, writeSymlinksLast.get()); } else {//from www.ja v a2 s. c om unarchivedFiles = unarchiver.extractArchive(archivePath, filesystem, Paths.get("output_dir"), Optional.empty(), ExistingFileMode.OVERWRITE_AND_CLEAN_DIRECTORIES); } Assert.assertThat(unarchivedFiles, Matchers.containsInAnyOrder(expectedPaths.toArray())); Assert.assertEquals(expectedPaths.size(), unarchivedFiles.size()); // Make sure we wrote the files assertOutputFileExists(expectedPaths.get(0), echoDotSh); assertOutputSymlinkExists(expectedPaths.get(1), Paths.get("Link.java"), mainDotJava); assertOutputSymlinkExists(expectedPaths.get(2), Paths.get("..", "src", "com", "facebook", "buck", "Main.java"), mainDotJava); assertOutputFileExists(expectedPaths.get(3), mainDotJava); assertOutputFileExists(expectedPaths.get(4), otherDotJava); // Make sure we make the dirs for (Path dir : expectedDirs) { assertOutputDirExists(dir); // Dest dir is created by buck, doesn't come from the archive if (!dir.equals(OUTPUT_SUBDIR)) { assertModifiedTime(dir); } } // Make sure that we set modified time and execute bit properly assertModifiedTime(expectedPaths); assertExecutable(expectedPaths.get(0), true); if (tmpFolder.getRoot().getFileSystem().supportedFileAttributeViews().contains("posix")) { Path executablePath = tmpFolder.getRoot().resolve(expectedPaths.get(0)); Assert.assertThat(Files.getPosixFilePermissions(executablePath), Matchers.hasItems(PosixFilePermission.OWNER_EXECUTE, PosixFilePermission.OTHERS_EXECUTE, PosixFilePermission.GROUP_EXECUTE)); } assertExecutable(expectedPaths.subList(1, expectedPaths.size()), false); }
From source file:org.kitodo.filemanagement.FileManagementTest.java
private static void setFileExecutable(File file) throws IOException { Set<PosixFilePermission> perms = new HashSet<>(); perms.add(PosixFilePermission.OWNER_READ); perms.add(PosixFilePermission.OWNER_WRITE); perms.add(PosixFilePermission.OWNER_EXECUTE); perms.add(PosixFilePermission.OTHERS_READ); perms.add(PosixFilePermission.OTHERS_WRITE); perms.add(PosixFilePermission.OTHERS_EXECUTE); perms.add(PosixFilePermission.GROUP_READ); perms.add(PosixFilePermission.GROUP_WRITE); perms.add(PosixFilePermission.GROUP_EXECUTE); Files.setPosixFilePermissions(file.toPath(), perms); }
From source file:com.diffplug.gradle.FileMisc.java
/** Returns true if any of the bits contain the executable permission. */ public static boolean containsExecutablePermission(Set<PosixFilePermission> permissions) { return permissions.contains(PosixFilePermission.OWNER_EXECUTE) && permissions.contains(PosixFilePermission.GROUP_EXECUTE) && permissions.contains(PosixFilePermission.OTHERS_EXECUTE); }
From source file:com.virtualparadigm.packman.processor.JPackageManager.java
public static boolean autorun(File autorunDir, Map<String, String> environmentVariableMap) { logger.info("PackageManager::autorun()"); boolean status = true; if (autorunDir != null && autorunDir.isDirectory()) { File[] autorunFiles = autorunDir.listFiles(); Arrays.sort(autorunFiles); String fileExtension = null; DefaultExecutor cmdExecutor = new DefaultExecutor(); // String sqlScriptFilePath = null; // Reader sqlScriptReader = null; // Properties sqlScriptProperties = null; for (File autorunFile : autorunFiles) { if (!autorunFile.isDirectory()) { try { fileExtension = FilenameUtils.getExtension(autorunFile.getAbsolutePath()); if (fileExtension != null) { if (fileExtension.equalsIgnoreCase("bat")) { logger.info(" executing autorun batch script: " + autorunFile.getAbsolutePath()); logger.info(" executing autorun environment: " + EnvironmentUtils.toStrings(environmentVariableMap)); cmdExecutor.execute(CommandLine.parse(autorunFile.getAbsolutePath()), environmentVariableMap); } else if (fileExtension.equalsIgnoreCase("sh")) { Set<PosixFilePermission> permissionSet = new HashSet<PosixFilePermission>(); permissionSet.add(PosixFilePermission.OWNER_READ); permissionSet.add(PosixFilePermission.OWNER_WRITE); permissionSet.add(PosixFilePermission.OWNER_EXECUTE); permissionSet.add(PosixFilePermission.OTHERS_READ); permissionSet.add(PosixFilePermission.OTHERS_WRITE); permissionSet.add(PosixFilePermission.OTHERS_EXECUTE); permissionSet.add(PosixFilePermission.GROUP_READ); permissionSet.add(PosixFilePermission.GROUP_WRITE); permissionSet.add(PosixFilePermission.GROUP_EXECUTE); Files.setPosixFilePermissions(Paths.get(autorunFile.toURI()), permissionSet); logger.info(" executing autorun shell script: " + autorunFile.getAbsolutePath()); logger.info(" executing autorun environment: " + EnvironmentUtils.toStrings(environmentVariableMap)); cmdExecutor.execute(CommandLine.parse(autorunFile.getAbsolutePath()), environmentVariableMap); } else if (fileExtension.equalsIgnoreCase("sql") || fileExtension.equalsIgnoreCase("ddl")) { logger.info(" executing autorun file: " + autorunFile.getAbsolutePath()); // look for properties file named same as script file for connection properties // sqlScriptFilePath = autorunFile.getAbsolutePath(); // sqlScriptProperties = PropertyLoader.loadProperties(sqlScriptFilePath.substring(0, sqlScriptFilePath.length()-3) + "properties"); // sqlScriptReader = new FileReader(autorunFile.getAbsolutePath()); } else if (fileExtension.equalsIgnoreCase("jar")) { logger.info(" executing autorun file: " + autorunFile.getAbsolutePath()); }/*from w w w . j av a2 s . co m*/ } } catch (Exception e) { logger.error("", e); e.printStackTrace(); } } } } return status; }
From source file:sce.ProcessExecutor.java
/** * File Permissions using File and PosixFilePermission * * @throws IOException//w w w . j av a 2s. co m */ public void setFilePermissions() throws IOException { File file = new File("/Users/temp.txt"); //set application user permissions to 455 file.setExecutable(false); file.setReadable(false); file.setWritable(true); //change permission to 777 for all the users //no option for group and others file.setExecutable(true, false); file.setReadable(true, false); file.setWritable(true, false); //using PosixFilePermission to set file permissions 777 Set<PosixFilePermission> perms = new HashSet<>(); //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("/Users/pankaj/run.sh"), perms); }
From source file:org.roda.core.storage.fedora.FedoraStorageService.java
private static FileAttribute<Set<PosixFilePermission>> getTempDirFilePermissions() { Set<PosixFilePermission> perms = new HashSet<>(); // 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_EXECUTE); return PosixFilePermissions.asFileAttribute(perms); }
From source file:org.eclipse.cdt.arduino.core.internal.board.ArduinoManager.java
private static Set<PosixFilePermission> toPerms(int mode) { Set<PosixFilePermission> perms = new HashSet<>(); if ((mode & 0400) != 0) { perms.add(PosixFilePermission.OWNER_READ); }/*w ww. j av a 2 s . c o m*/ if ((mode & 0200) != 0) { perms.add(PosixFilePermission.OWNER_WRITE); } if ((mode & 0100) != 0) { perms.add(PosixFilePermission.OWNER_EXECUTE); } if ((mode & 0040) != 0) { perms.add(PosixFilePermission.GROUP_READ); } if ((mode & 0020) != 0) { perms.add(PosixFilePermission.GROUP_WRITE); } if ((mode & 0010) != 0) { perms.add(PosixFilePermission.GROUP_EXECUTE); } if ((mode & 0004) != 0) { perms.add(PosixFilePermission.OTHERS_READ); } if ((mode & 0002) != 0) { perms.add(PosixFilePermission.OTHERS_WRITE); } if ((mode & 0001) != 0) { perms.add(PosixFilePermission.OTHERS_EXECUTE); } return perms; }