Example usage for java.nio.file.attribute PosixFilePermission OWNER_WRITE

List of usage examples for java.nio.file.attribute PosixFilePermission OWNER_WRITE

Introduction

In this page you can find the example usage for java.nio.file.attribute PosixFilePermission OWNER_WRITE.

Prototype

PosixFilePermission OWNER_WRITE

To view the source code for java.nio.file.attribute PosixFilePermission OWNER_WRITE.

Click Source Link

Document

Write permission, owner.

Usage

From source file:Main.java

public static void updatePermissions(PosixFileAttributeView posixView) throws Exception {
    Set<PosixFilePermission> permissions = EnumSet.of(PosixFilePermission.OWNER_READ,
            PosixFilePermission.OWNER_WRITE, PosixFilePermission.GROUP_READ);
    posixView.setPermissions(permissions);
    System.out.println("Permissions set successfully.");
}

From source file:Helper.Helper.java

public static Set<PosixFilePermission> intToSetPosix(int chmod) {
    Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
    int other = chmod % 10, group = (chmod / 10) % 10, owner = (chmod / 100) % 10;

    if (owner >= 4) {
        perms.add(PosixFilePermission.OWNER_READ);
        owner -= 4;//from   ww w  .  j  a v a 2 s  . c  o  m
    }
    if (owner >= 2) {
        perms.add(PosixFilePermission.OWNER_WRITE);
        owner -= 2;
    }
    if (owner >= 1) {
        perms.add(PosixFilePermission.OWNER_EXECUTE);
        owner -= 1;
    }

    if (group >= 4) {
        perms.add(PosixFilePermission.GROUP_READ);
        group -= 4;
    }
    if (group >= 2) {
        perms.add(PosixFilePermission.GROUP_WRITE);
        group -= 2;
    }
    if (group >= 1) {
        perms.add(PosixFilePermission.GROUP_EXECUTE);
        group -= 1;
    }

    if (other >= 4) {
        perms.add(PosixFilePermission.OTHERS_READ);
        other -= 4;
    }
    if (other >= 2) {
        perms.add(PosixFilePermission.OTHERS_WRITE);
        other -= 2;
    }
    if (other >= 1) {
        perms.add(PosixFilePermission.OTHERS_EXECUTE);
        other -= 1;
    }

    return perms;
}

From source file:com.vmware.bdd.utils.CommonUtil.java

public static void setOwnerOnlyReadWrite(String filename) throws IOException {
    try {/*from  w w w.j  a v  a 2 s . c o m*/
        Set<PosixFilePermission> perms = new HashSet<PosixFilePermission>();
        perms.add(PosixFilePermission.OWNER_READ);
        perms.add(PosixFilePermission.OWNER_WRITE);
        Files.setPosixFilePermissions(Paths.get(filename), perms);
    } catch (UnsupportedOperationException uoe) {
        logger.error("we are probably on windows! failed to set PosixFilePermission to: " + filename, uoe);
    }
}

From source file:org.esa.s2tbx.dataio.openjpeg.OpenJPEGActivator.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 {//from  ww  w .  jav a2 s .  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.
            SystemUtils.LOG
                    .severe("Can't set execution permissions for executable " + executablePathName.toString()
                            + ". If required, please ask an authorised user to make the file executable.");
        }
    }
}

From source file:com.spectralogic.ds3client.metadata.MetadataAccessImpl_Test.java

@Test
public void testGettingMetadata() throws IOException, InterruptedException {
    final String tempPathPrefix = null;
    final Path tempDirectory = Files.createTempDirectory(Paths.get("."), tempPathPrefix);

    final String fileName = "Gracie.txt";

    try {/*from  w w  w  .  java  2  s.  c  om*/
        final Path filePath = Files.createFile(Paths.get(tempDirectory.toString(), fileName));

        if (!Platform.isWindows()) {
            final PosixFileAttributes attributes = Files.readAttributes(filePath, PosixFileAttributes.class);
            final Set<PosixFilePermission> permissions = attributes.permissions();
            permissions.clear();
            permissions.add(PosixFilePermission.OWNER_READ);
            permissions.add(PosixFilePermission.OWNER_WRITE);
            Files.setPosixFilePermissions(filePath, permissions);
        }

        final ImmutableMap.Builder<String, Path> fileMapper = ImmutableMap.builder();
        fileMapper.put(filePath.toString(), filePath);
        final Map<String, String> metadata = new MetadataAccessImpl(fileMapper.build())
                .getMetadataValue(filePath.toString());

        if (Platform.isWindows()) {
            assertEquals(metadata.size(), 13);
        } else {
            assertEquals(metadata.size(), 10);
        }

        if (Platform.isMac()) {
            assertTrue(metadata.get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_OS)
                    .toLowerCase().startsWith(Platform.MAC_SYSTEM_NAME));
        } else if (Platform.isLinux()) {
            assertTrue(metadata.get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_OS)
                    .toLowerCase().startsWith(Platform.LINUX_SYSTEM_NAME));
        } else if (Platform.isWindows()) {
            assertTrue(metadata.get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_OS)
                    .toLowerCase().startsWith(Platform.WINDOWS_SYSTEM_NAME));
        }

        if (Platform.isWindows()) {
            assertEquals("A",
                    metadata.get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_FLAGS));
        } else {
            assertEquals("100600",
                    metadata.get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_MODE));
            assertEquals("600(rw-------)",
                    metadata.get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_PERMISSION));
        }
    } finally {
        FileUtils.deleteDirectory(tempDirectory.toFile());
    }
}

From source file:com.spectralogic.ds3client.metadata.MetadataReceivedListenerImpl_Test.java

@Test
public void testGettingMetadata() throws IOException, InterruptedException {
    final String tempPathPrefix = null;
    final Path tempDirectory = Files.createTempDirectory(Paths.get("."), tempPathPrefix);

    final String fileName = "Gracie.txt";

    final Path filePath = Files.createFile(Paths.get(tempDirectory.toString(), fileName));

    try {//  w ww  .  j av  a 2  s .  co  m
        // set permissions
        if (!Platform.isWindows()) {
            final PosixFileAttributes attributes = Files.readAttributes(filePath, PosixFileAttributes.class);
            final Set<PosixFilePermission> permissions = attributes.permissions();
            permissions.clear();
            permissions.add(PosixFilePermission.OWNER_READ);
            permissions.add(PosixFilePermission.OWNER_WRITE);
            Files.setPosixFilePermissions(filePath, permissions);
        }

        // get permissions
        final ImmutableMap.Builder<String, Path> fileMapper = ImmutableMap.builder();
        fileMapper.put(filePath.toString(), filePath);
        final ImmutableMap<String, Path> immutableFileMapper = fileMapper.build();
        final Map<String, String> metadataFromFile = new MetadataAccessImpl(immutableFileMapper)
                .getMetadataValue(filePath.toString());

        // change permissions
        if (Platform.isWindows()) {
            Runtime.getRuntime().exec("attrib -A " + filePath.toString()).waitFor();
        } else {
            final PosixFileAttributes attributes = Files.readAttributes(filePath, PosixFileAttributes.class);
            final Set<PosixFilePermission> permissions = attributes.permissions();
            permissions.clear();
            permissions.add(PosixFilePermission.OWNER_READ);
            permissions.add(PosixFilePermission.OWNER_WRITE);
            permissions.add(PosixFilePermission.OWNER_EXECUTE);
            Files.setPosixFilePermissions(filePath, permissions);
        }

        // put old permissions back
        final Metadata metadata = new MetadataImpl(new MockedHeadersReturningKeys(metadataFromFile));

        new MetadataReceivedListenerImpl(tempDirectory.toString()).metadataReceived(fileName, metadata);

        // see that we put back the original metadata
        fileMapper.put(filePath.toString(), filePath);
        final Map<String, String> metadataFromUpdatedFile = new MetadataAccessImpl(immutableFileMapper)
                .getMetadataValue(filePath.toString());

        if (Platform.isWindows()) {
            assertEquals("A", metadataFromUpdatedFile
                    .get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_FLAGS));
        } else {
            assertEquals("100600", metadataFromUpdatedFile
                    .get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_MODE));
            assertEquals("600(rw-------)", metadataFromUpdatedFile
                    .get(MetadataKeyConstants.METADATA_PREFIX + MetadataKeyConstants.KEY_PERMISSION));
        }

    } finally {
        FileUtils.deleteDirectory(tempDirectory.toFile());
    }
}

From source file:org.roda.core.plugins.PluginReportContentTest.java

@BeforeClass
public static void setUp() throws Exception {
    basePath = TestsHelper.createBaseTempDir(PluginReportContentTest.class, true,
            PosixFilePermissions.asFileAttribute(new HashSet<>(Arrays.asList(PosixFilePermission.OWNER_READ,
                    PosixFilePermission.OWNER_WRITE, PosixFilePermission.OWNER_EXECUTE,
                    PosixFilePermission.OTHERS_READ, PosixFilePermission.OTHERS_EXECUTE))));

    boolean deploySolr = true;
    boolean deployLdap = true;
    boolean deployFolderMonitor = true;
    boolean deployOrchestrator = true;
    boolean deployPluginManager = true;
    boolean deployDefaultResources = false;
    RodaCoreFactory.instantiateTest(deploySolr, deployLdap, deployFolderMonitor, deployOrchestrator,
            deployPluginManager, deployDefaultResources);

    model = RodaCoreFactory.getModelService();
    index = RodaCoreFactory.getIndexService();

    LOGGER.debug("Running index tests under storage {}", basePath);
}

From source file:org.springframework.ide.eclipse.boot.dash.test.PropertyFileStoreTest.java

private static void assertPermissions(File file) throws IOException {
    if (OsUtils.isWindows()) {
        //skip windows for now
    } else {/*from  w ww.  j ava 2  s  .c  o  m*/
        Path path = file.toPath();
        Set<PosixFilePermission> perms = Files.getPosixFilePermissions(path);
        assertEquals(EnumSet.of(PosixFilePermission.OWNER_READ, PosixFilePermission.OWNER_WRITE), perms);
    }
}

From source file:com.streamsets.pipeline.stage.destination.hdfs.metadataexecutor.HdfsMetadataExecutorIT.java

@BeforeClass
public static void setUpClass() throws Exception {
    // Conf dir//from  w  w  w. j  a  v a2  s.c  om
    new File(confDir).mkdirs();

    //setting some dummy kerberos settings to be able to test a mis-setting
    System.setProperty("java.security.krb5.realm", "foo");
    System.setProperty("java.security.krb5.kdc", "localhost:0");

    File minidfsDir = new File(baseDir, "minidfs").getAbsoluteFile();
    if (!minidfsDir.exists()) {
        Assert.assertTrue(minidfsDir.mkdirs());
    }
    Set<PosixFilePermission> set = new HashSet<>();
    set.add(PosixFilePermission.OWNER_EXECUTE);
    set.add(PosixFilePermission.OWNER_READ);
    set.add(PosixFilePermission.OWNER_WRITE);
    set.add(PosixFilePermission.OTHERS_READ);
    java.nio.file.Files.setPosixFilePermissions(minidfsDir.toPath(), set);
    System.setProperty(MiniDFSCluster.PROP_TEST_BUILD_DATA, minidfsDir.getPath());
    Configuration conf = new HdfsConfiguration();
    conf.set("hadoop.proxyuser." + System.getProperty("user.name") + ".hosts", "*");
    conf.set("hadoop.proxyuser." + System.getProperty("user.name") + ".groups", "*");
    conf.set("dfs.namenode.acls.enabled", "true");
    fooUgi = UserGroupInformation.createUserForTesting("foo", new String[] { "all" });
    EditLogFileOutputStream.setShouldSkipFsyncForTesting(true);
    FileSystem.closeAll();
    miniDFS = new MiniDFSCluster.Builder(conf).build();
    miniDFS.getFileSystem().setPermission(new Path("/"), FsPermission.createImmutable((short) 0777));
    fs = miniDFS.getFileSystem();
    writeConfiguration(miniDFS.getConfiguration(0), confDir + "core-site.xml");
    writeConfiguration(miniDFS.getConfiguration(0), confDir + "hdfs-site.xml");
}

From source file:com.twosigma.beaker.core.rest.RecentMenuRest.java

private void recordToFile() throws IOException {
    this.utils.saveFile(this.recentDocumentsFile, StringUtils.join(reverseView(this.recentDocuments), "\n"));
    try {//  w ww  .j a va2 s.  c  o  m
        utils.setPermissions(this.recentDocumentsFile, PosixFilePermission.OWNER_READ,
                PosixFilePermission.OWNER_WRITE);
    } catch (IOException e) {
        logger.warn("Unable to set permissions to recent document", e);
    }
}