From 62749f0ed18e93f7dcfa37a75972f6cdd4e3f7bc Mon Sep 17 00:00:00 2001
From: Philip Chan <philip.chan@monash.edu>
Date: Tue, 2 Aug 2016 13:19:38 +1000
Subject: [PATCH] subprocess.call instead of os.system

Former-commit-id: 661d57cc6b3fd41bef3f9b17ad8c47c1146e4faa
---
 .../templates/provision_homedir.py.j2           | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/roles/provision_homedir/templates/provision_homedir.py.j2 b/roles/provision_homedir/templates/provision_homedir.py.j2
index ee868422..07563cab 100644
--- a/roles/provision_homedir/templates/provision_homedir.py.j2
+++ b/roles/provision_homedir/templates/provision_homedir.py.j2
@@ -3,7 +3,8 @@ import ldap
 import traceback
 import os
 import stat
-import shutil
+#import shutil
+import subprocess
 
 class ldapSearchConfig:
     def __init__(self):
@@ -62,10 +63,10 @@ def recursive_chown(path,uidNumber,gidNumber):
 	if si.st_uid != uidNumber or si.st_gid != gidNumber:
 		raise Exception("user home %s uid %d != %d, gid %d != %d mismatch" % (path,si.st_uid,uidNumber,si.st_gid,gidNumber))
 	for root, dirs, files in os.walk(path):
-		for momo in dirs:
-			os.chown(os.path.join(root, momo), uidNumber, gidNumber)
-		for momo in files:
-			os.chown(os.path.join(root, momo), uidNumber, gidNumber)
+		for dname in dirs:
+			os.chown(os.path.join(root, dname), uidNumber, gidNumber)
+		for fname in files:
+			os.chown(os.path.join(root, fname), uidNumber, gidNumber)
 
 def cp_skel(skelroot, path, uidNumber, gidNumber):
 	if skelroot is None:
@@ -75,8 +76,10 @@ def cp_skel(skelroot, path, uidNumber, gidNumber):
 	skelpath = os.path.join(skelroot, 'common', 'skel')
 	if os.path.isdir(skelpath):
 		# copy the skel into the user $HOME
-		os.system("/bin/cp -r %s/* %s" % (skelpath, path))
-		os.system("/bin/cp %s/\.* %s" % (skelpath, path))
+		# os.system("/bin/cp -r %s/* %s" % (skelpath, path))
+		subprocess.call(['/bin/cp', '-r', "%s/*" % skelpath, path])
+		# os.system("/bin/cp %s/\.* %s" % (skelpath, path))
+		subprocess.call(['/bin/cp', "%s/.*" % skelpath, path])
 		# ideally use this, but it assumes 'path' does not exist
 		# shutil.copytree(skelpath, path)
 		# chown to user ownership
-- 
GitLab