AclEntry.Builder builder = new AclEntry.Builder(); builder.setIsDefault(true); } else { builder.setIsDefault(false); case AclEntryType.USER_COMPONENT: if (subject.isEmpty()) { builder.setType(AclEntryType.OWNING_USER); } else { builder.setType(AclEntryType.NAMED_USER); builder.setType(AclEntryType.OWNING_GROUP); } else { builder.setType(AclEntryType.NAMED_GROUP); builder.setType(AclEntryType.MASK); break; case AclEntryType.OTHER_COMPONENT: builder.setType(AclEntryType.OTHER); break; default: builder.setSubject(subject); builder.addAction(action); return builder.build();
ImmutableList.Builder<AclEntry> builder = new ImmutableList.Builder<>(); for (Map.Entry<String, AclActions> kv : mNamedUserActions.entrySet()) { builder.add(new AclEntry.Builder() .setType(AclEntryType.NAMED_USER) .setSubject(kv.getKey()) .setActions(kv.getValue()) .build()); builder.add(new AclEntry.Builder() .setType(AclEntryType.NAMED_GROUP) .setSubject(kv.getKey()) .setActions(kv.getValue()) .build()); builder.add(new AclEntry.Builder() .setType(AclEntryType.MASK) .setActions(mMaskActions) .build());
AclEntry.Builder builder = new AclEntry.Builder(); String type; String subject = ""; builder.setIsDefault(true); } else { type = components.get(0); builder.setIsDefault(false); throw new IllegalArgumentException("ACL entry must have subject: " + stringEntry); } else { builder.setType(AclEntryType.NAMED_USER); throw new IllegalArgumentException("ACL entry must have subject: " + stringEntry); } else { builder.setType(AclEntryType.NAMED_GROUP); builder.setType(AclEntryType.MASK); break; case AclEntryType.OTHER_COMPONENT: builder.setType(AclEntryType.OTHER); break; default: throw new IllegalArgumentException("Unexpected ACL entry type: " + stringEntry); builder.setSubject(subject); return builder.build();
AclEntry entry; if (name.equals(AccessControlList.OWNING_USER_KEY)) { entry = new AclEntry.Builder().setType(AclEntryType.OWNING_USER) .setSubject(acl.getOwningUser()).setActions(actions).build(); } else { hasExtended = true; entry = new AclEntry.Builder().setType(AclEntryType.NAMED_USER) .setSubject(name).setActions(actions).build(); AclEntry entry; if (name.equals(AccessControlList.OWNING_GROUP_KEY)) { entry = new AclEntry.Builder().setType(AclEntryType.OWNING_GROUP) .setSubject(acl.getOwningGroup()).setActions(actions).build(); } else { hasExtended = true; entry = new AclEntry.Builder().setType(AclEntryType.NAMED_GROUP) .setSubject(name).setActions(actions).build(); AclEntry entry = new AclEntry.Builder().setType(AclEntryType.MASK) .setActions(actions).build(); ret.setEntry(entry); AclEntry entry = new AclEntry.Builder().setType(AclEntryType.OTHER) .setActions(actions).build(); ret.setEntry(entry);
acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OWNING_USER).setSubject(OWNING_USER) .addAction(AclAction.READ).addAction(AclAction.WRITE).addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OWNING_GROUP).setSubject(OWNING_GROUP) .addAction(AclAction.READ).addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OTHER).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.NAMED_USER).setSubject(NAMED_USER) .addAction(AclAction.READ).addAction(AclAction.WRITE).addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.NAMED_GROUP).setSubject(NAMED_GROUP) .addAction(AclAction.WRITE).addAction(AclAction.EXECUTE).build()); acl.updateMask();
/** * Returns a list of {@link AclEntry} which represent this ACL instance. The mask will only be * included if extended ACL entries exist. * * @return an immutable list of ACL entries */ public List<AclEntry> getEntries() { ImmutableList.Builder<AclEntry> builder = new ImmutableList.Builder<>(); builder.add(new AclEntry.Builder() .setType(AclEntryType.OWNING_USER) .setSubject(mOwningUser) .setActions(getOwningUserActions()) .build()); builder.add(new AclEntry.Builder() .setType(AclEntryType.OWNING_GROUP) .setSubject(mOwningGroup) .setActions(getOwningGroupActions()) .build()); builder.add(new AclEntry.Builder() .setType(AclEntryType.OTHER) .setActions(getOtherActions()) .build()); if (hasExtended()) { builder.addAll(mExtendedEntries.getEntries()); } return builder.build(); }
private void setPermissions(AccessControlList acl) { // owning user: rwx // owning group: r-x // other: --x // named user: r-x // named group: r-- // named group 2: -wx acl.setOwningUser(OWNING_USER); acl.setOwningGroup(OWNING_GROUP); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OWNING_USER).setSubject(OWNING_USER) .addAction(AclAction.READ).addAction(AclAction.WRITE).addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OWNING_GROUP).setSubject(OWNING_GROUP) .addAction(AclAction.READ).addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OTHER) .addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.NAMED_USER).setSubject(NAMED_USER) .addAction(AclAction.READ).addAction(AclAction.EXECUTE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.NAMED_GROUP).setSubject(NAMED_GROUP) .addAction(AclAction.READ).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.NAMED_GROUP).setSubject(NAMED_GROUP2) .addAction(AclAction.WRITE).addAction(AclAction.EXECUTE).build()); acl.updateMask(); }
/** * @param pAclEntry the proto representation * @return the {@link AclEntry} instance created from the proto representation */ public static AclEntry fromProto(PAclEntry pAclEntry) { AclEntry.Builder builder = new AclEntry.Builder(); builder.setType(fromProto(pAclEntry.getType())); builder.setSubject(pAclEntry.getSubject()); builder.setIsDefault(pAclEntry.getIsDefault()); if (pAclEntry.getActionsCount() > 0) { for (PAclAction pAclAction : pAclEntry.getActionsList()) { builder.addAction(fromProto(pAclAction)); } } return builder.build(); }
/** * Tests {@link AccessControlList#getMode()}. */ @Test public void getMode() { AccessControlList acl = new AccessControlList(); Assert.assertEquals(0, acl.getMode()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OWNING_USER).setSubject(OWNING_USER) .addAction(AclAction.READ).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OWNING_GROUP).setSubject(OWNING_GROUP) .addAction(AclAction.WRITE).build()); acl.setEntry(new AclEntry.Builder().setType(AclEntryType.OTHER) .addAction(AclAction.EXECUTE).build()); Assert.assertEquals(new Mode(Mode.Bits.READ, Mode.Bits.WRITE, Mode.Bits.EXECUTE).toShort(), acl.getMode()); }
/** * @param pEntry the proto representation * @return the {@link AclEntry} instance created from the proto representation */ public static AclEntry fromProto(Acl.AclEntry pEntry) { AclEntry.Builder builder = new AclEntry.Builder(); builder.setType(fromProto(pEntry.getType())); builder.setSubject(pEntry.getSubject()); builder.setIsDefault(pEntry.getIsDefault()); for (Acl.AclAction pAction : pEntry.getActionsList()) { builder.addAction(fromProto(pAction)); } return builder.build(); }