Skip to content
Snippets Groups Projects
Commit d13f6bdd authored by Daniele Nicolodi's avatar Daniele Nicolodi
Browse files

vorhabenACL: Add list subcommand to show currently set ACL

parent ba09775e
No related branches found
No related tags found
No related merge requests found
......@@ -159,12 +159,12 @@ def print_group_members(name, level=1):
prefix = ' ' * level
if name.startswith('8GP'):
for member in get_group_members(name):
print(f'{prefix}{member}')
print(f'{prefix} {member}')
print_group_members(member, level + 1)
def _print_acl(path, print_inherited=True, print_traversal=False):
print(f'{style.bright_green}{path}{style.reset}')
def print_acl(path, print_inherited=True, print_traversal=False):
print(f'. {path}')
acl = get_acl(path)
for user, permissions in acl.items():
inherited, permissions = parse_permissions(permissions)
......@@ -173,7 +173,7 @@ def _print_acl(path, print_inherited=True, print_traversal=False):
if not print_traversal and permissions == ('RX',):
continue
permissions = ','.join(permissions)
print(f'{user:50s}: {permissions}')
print(f' {user}: {permissions}')
domain, name = user.split('\\')
print_group_members(name)
print()
......@@ -295,5 +295,15 @@ def dump(json):
print()
@main.command(name='list')
@click.option('-v', '--verbose', count=True)
def acl(verbose):
print_acl(PATH, print_traversal=verbose)
for entry in sorted(os.listdir(PATH)):
if entry.startswith('.'):
continue
print_acl(os.path.join(PATH, entry), print_inherited=False, print_traversal=verbose)
if __name__ == '__main__':
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment