forked from sig_core/toolkit
add group query
This commit is contained in:
parent
04d1ec6a00
commit
c2ab7d72c2
@ -447,7 +447,6 @@ class IPAQuery:
|
|||||||
"""
|
"""
|
||||||
Gets us started on the query
|
Gets us started on the query
|
||||||
"""
|
"""
|
||||||
#user_data = IPAQuery.user_data(api, name)
|
|
||||||
if control == 'user':
|
if control == 'user':
|
||||||
IPAQuery.user_pull(api, name, deep)
|
IPAQuery.user_pull(api, name, deep)
|
||||||
if control == 'group':
|
if control == 'group':
|
||||||
@ -456,7 +455,7 @@ class IPAQuery:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def user_pull(api, name, deep):
|
def user_pull(api, name, deep):
|
||||||
"""
|
"""
|
||||||
Gets requested rbac info
|
Gets requested user info
|
||||||
"""
|
"""
|
||||||
user_results = IPAQuery.user_data(api, name)
|
user_results = IPAQuery.user_data(api, name)
|
||||||
uid = user_results['uid'][0]
|
uid = user_results['uid'][0]
|
||||||
@ -486,13 +485,37 @@ memberOf:{groups}
|
|||||||
"""
|
"""
|
||||||
print(outter)
|
print(outter)
|
||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def group_pull(api, name, deep):
|
def group_pull(api, name, deep):
|
||||||
"""
|
"""
|
||||||
Gets requested rbac info
|
Gets requested group info
|
||||||
"""
|
"""
|
||||||
print()
|
group_results = IPAQuery.group_data(api, name)
|
||||||
|
gid = group_results['cn'][0]
|
||||||
|
gid_number = group_results['gidnumber'][0]
|
||||||
|
description = group_results['description'][0]
|
||||||
|
users_list = list(group_results['member_user'])
|
||||||
|
users_indirect = []
|
||||||
|
if 'memberindirect_user' in group_results:
|
||||||
|
users_indirect = list(group_results['memberindirect_user'])
|
||||||
|
|
||||||
|
users_list = users_list + users_indirect
|
||||||
|
users_list_names = []
|
||||||
|
for x in users_list:
|
||||||
|
user_results = IPAQuery.user_data(api, x)
|
||||||
|
first_name = ''
|
||||||
|
if 'givenname' in user_results:
|
||||||
|
first_name = user_results['givenname'][0]
|
||||||
|
last_name = user_results['sn'][0]
|
||||||
|
full_name = f'{first_name} {last_name}'
|
||||||
|
users_list_names.append(full_name)
|
||||||
|
users = ','.join(users_list)
|
||||||
|
users_names = "\n".join(users_list_names)
|
||||||
|
getent_string = f'{gid}:x:{gid_number}:{users}'
|
||||||
|
if not deep:
|
||||||
|
print(getent_string)
|
||||||
|
else:
|
||||||
|
print(users_names)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def user_data(api, user):
|
def user_data(api, user):
|
||||||
|
Loading…
Reference in New Issue
Block a user