Exemplo n.º 1
0
def test_has_permissions_exact_contains(test_file):
    result = win_dacl.set_permissions(
        obj_name=str(test_file),
        principal="Backup Operators",
        permissions=["read_data", "write_data"],
        access_mode="grant",
        obj_type="file",
        reset_perms=False,
        protected=None,
    )
    assert result is True

    # Test has_permissions exact
    result = win_dacl.has_permissions(
        obj_name=str(test_file),
        principal="Backup Operators",
        permissions=["read_data", "write_data"],
        access_mode="grant",
        obj_type="file",
        exact=True,
    )
    assert result is True
Exemplo n.º 2
0
def test_has_permission_missing(test_file):
    result = win_dacl.set_permissions(
        obj_name=str(test_file),
        principal="Backup Operators",
        permissions="read_execute",
        access_mode="grant",
        obj_type="file",
        reset_perms=False,
        protected=None,
    )
    assert result is True

    # Test has_permission not exact
    result = win_dacl.has_permission(
        obj_name=str(test_file),
        principal="Backup Operators",
        permission="write",
        access_mode="grant",
        obj_type="file",
        exact=False,
    )
    assert result is False
Exemplo n.º 3
0
def test_has_permission_contains_advanced(test_file):
    result = win_dacl.set_permissions(
        obj_name=str(test_file),
        principal="Backup Operators",
        permissions="full_control",
        access_mode="grant",
        obj_type="file",
        reset_perms=False,
        protected=None,
    )
    assert result is True

    # Test has_permission exact
    result = win_dacl.has_permission(
        obj_name=str(test_file),
        principal="Backup Operators",
        permission="read_data",
        access_mode="grant",
        obj_type="file",
        exact=False,
    )
    assert result is True
Exemplo n.º 4
0
def test_has_permission_contains_false(reg_key):
    result = win_dacl.set_permissions(
        obj_name=reg_key,
        principal="Backup Operators",
        permissions="read",
        access_mode="grant",
        obj_type="registry",
        reset_perms=False,
        protected=None,
    )
    assert result is True

    # Test has_permission exact
    result = win_dacl.has_permission(
        obj_name=reg_key,
        principal="Backup Operators",
        permission="write",
        access_mode="grant",
        obj_type="registry",
        exact=False,
    )
    assert result is False
Exemplo n.º 5
0
 def test_has_permission(self):
     """
     Test the has_permission function
     """
     self.assertTrue(
         win_dacl.set_permissions(
             obj_name=self.obj_name,
             principal="Backup Operators",
             permissions="full_control",
             access_mode="grant",
             obj_type=self.obj_type,
             reset_perms=False,
             protected=None,
         )
     )
     # Test has_permission exact
     self.assertTrue(
         win_dacl.has_permission(
             obj_name=self.obj_name,
             principal="Backup Operators",
             permission="full_control",
             access_mode="grant",
             obj_type=self.obj_type,
             exact=True,
         )
     )
     # Test has_permission contains
     self.assertTrue(
         win_dacl.has_permission(
             obj_name=self.obj_name,
             principal="Backup Operators",
             permission="read",
             access_mode="grant",
             obj_type=self.obj_type,
             exact=False,
         )
     )
Exemplo n.º 6
0
def test_directory_existing_reset(tmp_path):
    path = str(tmp_path)
    win_dacl.set_permissions(
        obj_name=path,
        principal="Guest",
        permissions=["write_data", "write_attributes"],
        access_mode="deny",
        reset_perms=True,
    )
    ret = file.directory(
        name=path,
        makedirs=True,
        win_perms={"Everyone": {
            "perms": "full_control"
        }},
        win_perms_reset=True,
    )
    expected = {
        "grant_perms": {
            "Everyone": {
                "permissions": "full_control"
            }
        },
        "remove_perms": {
            "Guest": {
                "deny": {
                    "applies to":
                    "This folder, subfolders and files",
                    "permissions":
                    ["Create files / write data", "Write attributes"],
                }
            }
        },
    }
    # We are checking these individually because sometimes it will return an
    # owner if it is running under the Administrator account
    assert ret["changes"]["grant_perms"] == expected["grant_perms"]
    assert ret["changes"]["remove_perms"] == expected["remove_perms"]
    permissions = win_dacl.get_permissions(path)
    expected = {
        "Inherited": {
            "Administrators": {
                "grant": {
                    "applies to": "This folder, subfolders and files",
                    "permissions": "Full control",
                }
            },
            "SYSTEM": {
                "grant": {
                    "applies to": "This folder, subfolders and files",
                    "permissions": "Full control",
                }
            },
            CURRENT_USER: {
                "grant": {
                    "applies to": "This folder, subfolders and files",
                    "permissions": "Full control",
                }
            },
        },
        "Not Inherited": {
            "Everyone": {
                "grant": {
                    "applies to": "This folder, subfolders and files",
                    "permissions": "Full control",
                }
            },
        },
    }
    assert permissions == expected