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(a)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