public TerminalPreferences withDefaults(final CommandLine input) { if(input.hasOption(TerminalOptionsBuilder.Params.chmod.name())) { final Permission permission = new Permission(input.getOptionValue(TerminalOptionsBuilder.Params.chmod.name())); this.setDefault("queue.upload.permissions.change", String.valueOf(true)); this.setDefault("queue.upload.permissions.default", String.valueOf(true)); this.setDefault("queue.upload.permissions.file.default", permission.getMode()); } return this; }
@Action public void chmodUploadTypePopupChanged(NSPopUpButton sender) { Permission p = null; if(sender.selectedItem().tag() == 0) { p = new Permission(preferences.getInteger("queue.upload.permissions.file.default")); } if(sender.selectedItem().tag() == 1) { p = new Permission(preferences.getInteger("queue.upload.permissions.folder.default")); } if(null == p) { log.error("No selected item for:" + sender); return; } Permission.Action ownerPerm = p.getUser(); Permission.Action groupPerm = p.getGroup(); Permission.Action otherPerm = p.getOther(); uownerr.setState(ownerPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); uownerw.setState(ownerPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); uownerx.setState(ownerPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); ugroupr.setState(groupPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); ugroupw.setState(groupPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); ugroupx.setState(groupPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); uotherr.setState(otherPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); uotherw.setState(otherPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); uotherx.setState(otherPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); }
private Permission createSpecifiedPermission() { try { int perm = Integer.valueOf(facts.get("up"), 8); return new Permission(perm); } catch(NumberFormatException ignored) { } return null; } }
private Permission toPermission(final Node node) throws BackgroundException { final Permission permission = new Permission(Permission.Action.none, Permission.Action.none, Permission.Action.none); if(node.getIsEncrypted() && node.getType() == Node.TypeEnum.FILE) { if(null != session.keyPair()) { permission.setUser(permission.getUser().or(Permission.Action.read)); } } else { permission.setUser(permission.getUser().or(Permission.Action.read)); } switch(node.getType()) { case ROOM: case FOLDER: permission.setUser(permission.getUser().or(Permission.Action.execute)); } if(node.getPermissions().getChange()) { permission.setUser(permission.getUser().or(Permission.Action.write)); } return permission; }
if(inflated.getName().startsWith(DIR_PREFIX)) { final Permission permission = attributes.getPermission(); permission.setUser(permission.getUser().or(Permission.Action.execute)); permission.setGroup(permission.getGroup().or(Permission.Action.execute)); permission.setOther(permission.getOther().or(Permission.Action.execute));
@Override public Acl getDefault(final Local file) { final Permission permission; if(PreferencesFactory.get().getBoolean("queue.upload.permissions.default")) { if(file.isFile()) { permission = new Permission( PreferencesFactory.get().getInteger("queue.upload.permissions.file.default")); } else { permission = new Permission( PreferencesFactory.get().getInteger("queue.upload.permissions.folder.default")); } } else { // Read permissions from local file permission = file.attributes().getPermission(); } final Acl acl = new Acl(); if(permission.getOther().implies(Permission.Action.read)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.EVERYONE), new Acl.Role(Acl.Role.READ)); } if(permission.getGroup().implies(Permission.Action.read)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.AUTHENTICATED), new Acl.Role(Acl.Role.READ)); } if(permission.getGroup().implies(Permission.Action.write)) { acl.addAll(new Acl.GroupUser(Acl.GroupUser.AUTHENTICATED), new Acl.Role(Acl.Role.WRITE)); } return acl; } }
@Override public Permission getPermission() { return new FinderLocalPermission(super.getPermission().getMode()); }
o = o.or(Permission.Action.execute); final Permission permission = new Permission(u, g, o); if(f instanceof FTPExtendedFile) { permission.setSetuid(((FTPExtendedFile) f).isSetuid()); permission.setSetgid(((FTPExtendedFile) f).isSetgid()); permission.setSticky(((FTPExtendedFile) f).isSticky()); if(!Permission.EMPTY.equals(permission)) { parsed.attributes().setPermission(permission);
if(!Permission.EMPTY.equals(status.getPermission())) { if(file.isDirectory()) { status.getPermission().setUser(status.getPermission().getUser().or(Permission.Action.read).or(Permission.Action.write).or(Permission.Action.execute)); status.getPermission().setUser(status.getPermission().getUser().or(Permission.Action.read).or(Permission.Action.write));
@Override protected int compareFirst(final Path p1, final Path p2) { if(Permission.EMPTY.equals(p1.attributes().getPermission()) && Permission.EMPTY.equals(p2.attributes().getPermission())) { return 0; } if(Permission.EMPTY.equals(p1.attributes().getPermission())) { return -1; } if(Permission.EMPTY.equals(p2.attributes().getPermission())) { return 1; } Integer perm1 = Integer.valueOf(p1.attributes().getPermission().getMode()); Integer perm2 = Integer.valueOf(p2.attributes().getPermission().getMode()); if(perm1 > perm2) { return ascending ? 1 : -1; } else if(perm1 < perm2) { return ascending ? -1 : 1; } return 0; } }
private void setPermissions(final PermissionOverwrite permissions) { this.updateCheckbox(ownerr, permissions.user.read); this.updateCheckbox(ownerw, permissions.user.write); this.updateCheckbox(ownerx, permissions.user.execute); this.updateCheckbox(groupr, permissions.group.read); this.updateCheckbox(groupw, permissions.group.write); this.updateCheckbox(groupx, permissions.group.execute); this.updateCheckbox(otherr, permissions.other.read); this.updateCheckbox(otherw, permissions.other.write); this.updateCheckbox(otherx, permissions.other.execute); if(this.numberOfFiles() > 1) { permissionsField.setStringValue(permissions.toString()); octalField.setStringValue(permissions.getMode()); } else { final Permission permission = permissions.resolve(Permission.EMPTY); permissionsField.setStringValue(permission.toString()); octalField.setStringValue(permission.getMode()); } }
/** * @param workdir Working directory * @return True if creating an empty file is possible. */ default boolean isSupported(Path workdir) { return workdir.attributes().getPermission().isWritable(); }
if(file.attributes().getPermission().isExecutable()) { return this.iconNamed("executable.tiff", size); if(!file.attributes().getPermission().isExecutable()) { final NSImage badge = this.iconNamed("privatefolderbadge.tiff", size); badge.setName("privatefolderbadge"); return this.folderIcon(size, badge); if(!file.attributes().getPermission().isReadable()) { if(file.attributes().getPermission().isWritable()) { final NSImage badge = this.iconNamed("dropfolderbadge.tiff", size); badge.setName("dropfolderbadge"); if(!file.attributes().getPermission().isWritable()) { final NSImage badge = this.iconNamed("readonlyfolderbadge.tiff", size); badge.setName("readonlyfolderbadge");
public void setPermission(final Permission permission) throws AccessDeniedException { if(FileSystems.getDefault().supportedFileAttributeViews().contains("posix")) { try { Files.setPosixFilePermissions(Paths.get(path), PosixFilePermissions.fromString(permission.getSymbol())); } catch(IllegalArgumentException | IOException e) { throw new LocalAccessDeniedException(String.format("Cannot change permissions of %s", path), e); } } }
private void createAndSetSpecifiedPermission() { Permission newPermission = this.createSpecifiedPermission(); if(newPermission != null) { file.setPermission(FTPFile.USER_ACCESS, FTPFile.READ_PERMISSION, newPermission.getUser().implies(Permission.Action.read)); file.setPermission(FTPFile.USER_ACCESS, FTPFile.WRITE_PERMISSION, newPermission.getUser().implies(Permission.Action.write)); file.setPermission(FTPFile.USER_ACCESS, FTPFile.EXECUTE_PERMISSION, newPermission.getUser().implies(Permission.Action.execute)); file.setPermission(FTPFile.GROUP_ACCESS, FTPFile.READ_PERMISSION, newPermission.getUser().implies(Permission.Action.read)); file.setPermission(FTPFile.GROUP_ACCESS, FTPFile.WRITE_PERMISSION, newPermission.getUser().implies(Permission.Action.write)); file.setPermission(FTPFile.GROUP_ACCESS, FTPFile.EXECUTE_PERMISSION, newPermission.getUser().implies(Permission.Action.execute)); file.setPermission(FTPFile.WORLD_ACCESS, FTPFile.READ_PERMISSION, newPermission.getUser().implies(Permission.Action.read)); file.setPermission(FTPFile.WORLD_ACCESS, FTPFile.WRITE_PERMISSION, newPermission.getUser().implies(Permission.Action.write)); file.setPermission(FTPFile.WORLD_ACCESS, FTPFile.EXECUTE_PERMISSION, newPermission.getUser().implies(Permission.Action.execute)); } }
@Action public void chmodDownloadTypePopupChanged(NSPopUpButton sender) { Permission p = null; if(sender.selectedItem().tag() == 0) { p = new Permission(preferences.getInteger("queue.download.permissions.file.default")); } if(sender.selectedItem().tag() == 1) { p = new Permission(preferences.getInteger("queue.download.permissions.folder.default")); } if(null == p) { log.error("No selected item for:" + sender); return; } Permission.Action ownerPerm = p.getUser(); Permission.Action groupPerm = p.getGroup(); Permission.Action otherPerm = p.getOther(); downerr.setState(ownerPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); downerw.setState(ownerPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); downerx.setState(ownerPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); dgroupr.setState(groupPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); dgroupw.setState(groupPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); dgroupx.setState(groupPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); dotherr.setState(otherPerm.implies(Permission.Action.read) ? NSCell.NSOnState : NSCell.NSOffState); dotherw.setState(otherPerm.implies(Permission.Action.write) ? NSCell.NSOnState : NSCell.NSOffState); dotherx.setState(otherPerm.implies(Permission.Action.execute) ? NSCell.NSOnState : NSCell.NSOffState); }
public <T> Permission deserialize(T serialized) { final Deserializer dict = deserializer.create(serialized); return new Permission(dict.stringForKey("Mask")); } }