
This module provide interfaces to create default groups for kimchi, vmuser and vmadmin. Also it provide interfaces to assign a user to one group as his supplementary group Signed-off-by: Shu Ming <shuming@linux.vnet.ibm.com> --- src/kimchi/rolegroups.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/kimchi/rolegroups.py diff --git a/src/kimchi/rolegroups.py b/src/kimchi/rolegroups.py new file mode 100644 index 0000000..174c0f0 --- /dev/null +++ b/src/kimchi/rolegroups.py @@ -0,0 +1,36 @@ +import subprocess +import grp +from kimchi.utils import kimchi_log + +def new_group(gnam): + cmd = " ".join(('groupadd', gnam)) + + try: + subprocess.call(cmd, shell=True, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + except Exception, e: + kimchi_log.info('Exception running command %s: %s', cmd, e) + +def vmadmin_group_check(): + try: + grp.getgrnam("vmadmin") + except KeyError: + new_group("vmadmin"); + +def vmuser_group_check(): + try: + grp.getgrnam("vmuser") + except KeyError: + new_group("vmuser"); + +def user_add_group(usernam, grpnam): + cmd = " ".join(('usermod', '-a', '-G', grpnam, usernam) + try: + subprocess.call(cmd, shell=True, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + except Exception, e: + kimchi_log.info('Exception running command %s: %s', cmd, e) + +if __name__ == '__main__': + vmuser_group_check() + vmadmin_group_check() -- 1.8.1.4