示例#1
0
        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);
        }
示例#2
0
        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);
        }