diff --git a/roles/provision_homedir/templates/provision_homedir.py.j2 b/roles/provision_homedir/templates/provision_homedir.py.j2 index ee868422f541ad018eedc67d53999056dd3b4a2d..07563cab82a647a84d9a39df47df86cc583419ee 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