public virtual void TestAclNamedGroupMask() { INodeFile inodeFile = CreateINodeFile(inodeRoot, "file1", "bruce", "execs", (short )0x1a4); AddAcl(inodeFile, AclTestHelpers.AclEntry(AclEntryScope.Access, AclEntryType.User , FsAction.ReadWrite), AclTestHelpers.AclEntry(AclEntryScope.Access, AclEntryType .Group, FsAction.Read), AclTestHelpers.AclEntry(AclEntryScope.Access, AclEntryType .Group, "sales", FsAction.ReadWrite), AclTestHelpers.AclEntry(AclEntryScope.Access , AclEntryType.Mask, FsAction.Read), AclTestHelpers.AclEntry(AclEntryScope.Access , AclEntryType.Other, FsAction.Read)); AssertPermissionGranted(Bruce, "/file1", FsAction.ReadWrite); AssertPermissionGranted(Clark, "/file1", FsAction.Read); AssertPermissionGranted(Diana, "/file1", FsAction.Read); AssertPermissionDenied(Diana, "/file1", FsAction.Write); AssertPermissionDenied(Diana, "/file1", FsAction.Execute); AssertPermissionDenied(Diana, "/file1", FsAction.ReadWrite); AssertPermissionDenied(Diana, "/file1", FsAction.ReadExecute); AssertPermissionDenied(Diana, "/file1", FsAction.WriteExecute); AssertPermissionDenied(Diana, "/file1", FsAction.All); }
public virtual void TestAclGroupTraverseDenyOnlyDefaultEntries() { INodeDirectory inodeDir = CreateINodeDirectory(inodeRoot, "dir1", "bruce", "execs" , (short)0x1ed); INodeFile inodeFile = CreateINodeFile(inodeDir, "file1", "bruce", "execs", (short )0x1a4); AddAcl(inodeDir, AclTestHelpers.AclEntry(AclEntryScope.Access, AclEntryType.User, FsAction.All), AclTestHelpers.AclEntry(AclEntryScope.Access, AclEntryType.Group, FsAction.None), AclTestHelpers.AclEntry(AclEntryScope.Access, AclEntryType.Other , FsAction.ReadExecute), AclTestHelpers.AclEntry(AclEntryScope.Default, AclEntryType .User, FsAction.All), AclTestHelpers.AclEntry(AclEntryScope.Default, AclEntryType .Group, "sales", FsAction.None), AclTestHelpers.AclEntry(AclEntryScope.Default, AclEntryType.Group, FsAction.None), AclTestHelpers.AclEntry(AclEntryScope.Default , AclEntryType.Other, FsAction.ReadExecute)); AssertPermissionGranted(Bruce, "/dir1/file1", FsAction.ReadWrite); AssertPermissionGranted(Diana, "/dir1/file1", FsAction.Read); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.Read); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.Write); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.Execute); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.ReadWrite); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.ReadExecute); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.WriteExecute); AssertPermissionDenied(Clark, "/dir1/file1", FsAction.All); }