/** * Sets the permissions to look for. * @param permissions the permissions string (rwxrwxrwx or octal) */ public void setPermissions(String permissions) { if (permissions.length() == 3 && permissions.matches("^[0-7]+$")) { this.permissions = PosixFilePermissions.toString( PermissionUtils.permissionsFromMode(Integer.parseInt(permissions, 8))); return; } try { this.permissions = PosixFilePermissions.toString(PosixFilePermissions.fromString(permissions)); } catch (IllegalArgumentException ex) { throw new BuildException("the permissions attribute " + permissions + " is invalid", ex); } }
@Override public boolean isSelected(File basedir, String filename, File file) { if (permissions == null) { throw new BuildException("the permissions attribute is required"); } try { return PosixFilePermissions.toString(followSymlinks ? Files.getPosixFilePermissions(file.toPath()) : Files.getPosixFilePermissions(file.toPath(), LinkOption.NOFOLLOW_LINKS)) .equals(permissions); } catch (IOException e) { // => not the expected permissions } return false; } }
private String getPerms(String fileName) { try { Set<PosixFilePermission> perms = Files.getPosixFilePermissions(Paths.get(testDir + pathSep + fileName)); return PosixFilePermissions.toString(perms); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } }
@Override public void flush() throws IOException { super.flush(); if (LOG.isDebugEnabled()) { LOG.debug("Resetting permissions to '" + permissions + "'"); } if (!Shell.WINDOWS) { Files.setPosixFilePermissions(Paths.get(file.getCanonicalPath()), permissions); } else { // FsPermission expects a 10-character string because of the leading // directory indicator, i.e. "drwx------". The JDK toString method returns // a 9-character string, so prepend a leading character. FsPermission fsPermission = FsPermission.valueOf( "-" + PosixFilePermissions.toString(permissions)); FileUtil.setPermission(file, fsPermission); } }
try { PosixFileAttributeView view = Files.getFileAttributeView(file, PosixFileAttributeView.class); attributes.put(FILE_PERMISSIONS_ATTRIBUTE, PosixFilePermissions.toString(view.readAttributes().permissions())); attributes.put(FILE_GROUP_ATTRIBUTE, view.readAttributes().group().getName()); } catch (Exception ignore) {
try { PosixFileAttributeView view = Files.getFileAttributeView(filePath, PosixFileAttributeView.class); attributes.put(FILE_PERMISSIONS_ATTRIBUTE, PosixFilePermissions.toString(view.readAttributes().permissions())); attributes.put(FILE_GROUP_ATTRIBUTE, view.readAttributes().group().getName()); } catch (Exception ignore) {
String fileMode = PosixFilePermissions.toString( Files.getPosixFilePermissions( srcFile.toPath() ) ); long filesize = srcFile.length(); exec = sb.append( "C0" )
@Test public void testFilePermissions() throws Exception { final Logger logger = loggerContextRule.getLogger(FileAppenderPermissionsTest.class); for (int i = 0; i < 1000; ++i) { final String message = "This is test message number " + i; logger.debug(message); } assertEquals("rw-------", PosixFilePermissions.toString( Files.getPosixFilePermissions(Paths.get("target/permissions1/AppenderTest-1.log")))); }
fileProperties.posixPermissions = PosixFilePermissions.toString(posixAttrs.permissions());
@Test public void testCreateTempFileWithPermsBlocking() throws Exception { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); String tempFile = fs.createTempFileBlocking("project", ".tmp", DEFAULT_FILE_PERMS); Path path = Paths.get(tempFile); assertTrue(Files.exists(path)); String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(path)); assertEquals(perms, DEFAULT_FILE_PERMS); } }
@Test public void testCreateTempDirectoryWithPermsBlocking() throws Exception { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); String tempDirectory = fs.createTempDirectoryBlocking("project", DEFAULT_DIR_PERMS); String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(Paths.get(tempDirectory))); assertEquals(perms, DEFAULT_DIR_PERMS); }
gzippedFiles1++; assertEquals("rw-------", PosixFilePermissions.toString(Files.getPosixFilePermissions(file.toPath()))); } else { gzippedFiles2++; assertEquals("r--r--r--", PosixFilePermissions.toString(Files.getPosixFilePermissions(file.toPath()))); PosixFilePermissions.toString(Files.getPosixFilePermissions(file.toPath()))); } else { assertEquals("rwx------", PosixFilePermissions.toString(Files.getPosixFilePermissions(file.toPath())));
@Test public void testCreateTempFileWithPerms() { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); fs.createTempFile("project", ".tmp", DEFAULT_FILE_PERMS, onSuccess(tempFile -> { Path path = Paths.get(tempFile); assertTrue(Files.exists(path)); try { String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(path)); assertEquals(perms, DEFAULT_FILE_PERMS); } catch (IOException e) { fail(e); } })); }
@Test public void testCreateTempDirectoryWithPerms() { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); fs.createTempDirectory("project", DEFAULT_DIR_PERMS, onSuccess(tempDirectory -> { try { String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(Paths.get(tempDirectory))); assertEquals(perms, DEFAULT_DIR_PERMS); } catch (IOException e) { fail(e); } complete(); })); await(); }
assertEquals(filePermissions, PosixFilePermissions.toString(Files.getPosixFilePermissions(path))); } finally { appender.stop();
assertEquals(filePermissions, PosixFilePermissions.toString(Files.getPosixFilePermissions(path))); assertEquals(user, Files.getOwner(path).getName()); assertEquals(group, Files.readAttributes(path, PosixFileAttributes.class).group().getName());
private String getPerms(String fileName) { try { Set<PosixFilePermission> perms = Files.getPosixFilePermissions(Paths.get(testDir + pathSep + fileName)); return PosixFilePermissions.toString(perms); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } }
@Test public void testCreateTempFileWithPermsBlocking() throws Exception { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); String tempFile = fs.createTempFileBlocking("project", ".tmp", DEFAULT_FILE_PERMS); Path path = Paths.get(tempFile); assertTrue(Files.exists(path)); String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(path)); assertEquals(perms, DEFAULT_FILE_PERMS); } }
@Test public void testCreateTempDirectoryWithPermsBlocking() throws Exception { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); String tempDirectory = fs.createTempDirectoryBlocking("project", DEFAULT_DIR_PERMS); String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(Paths.get(tempDirectory))); assertEquals(perms, DEFAULT_DIR_PERMS); }
@Test public void testCreateTempFileWithPerms() { Assume.assumeFalse(Utils.isWindows()); FileSystem fs = vertx.fileSystem(); fs.createTempFile("project", ".tmp", DEFAULT_FILE_PERMS, onSuccess(tempFile -> { Path path = Paths.get(tempFile); assertTrue(Files.exists(path)); try { String perms = PosixFilePermissions.toString(Files.getPosixFilePermissions(path)); assertEquals(perms, DEFAULT_FILE_PERMS); } catch (IOException e) { fail(e); } })); }