From 8049777eb1833a4dc90d126b9f6eaf940054650e Mon Sep 17 00:00:00 2001 From: Stephen Fromm Date: Tue, 30 Oct 2012 09:37:23 -0700 Subject: [PATCH] Make sure ownership is set correctly for user's new ssh keys --- library/user | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/library/user b/library/user index 773516a4ff8..ed549d92c03 100755 --- a/library/user +++ b/library/user @@ -373,6 +373,7 @@ def ssh_key_gen(module, user, ssh): if not os.path.exists(ssh_dir): try: os.mkdir(ssh_dir, 0700) + os.chown(ssh_dir, info[2], info[3]) except OSError, e: return (1, '', 'Failed to create %s: %s' % (ssh_dir, str(e))) if os.path.exists(ssh_key_file): @@ -400,6 +401,11 @@ def ssh_key_gen(module, user, ssh): p = subprocess.Popen(cmd, shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) (out, err) = p.communicate() rc = p.returncode + if rc == 0: + # If the keys were successfully created, we should be able + # to tweak ownership. + os.chown(ssh_key_file, info[2], info[3]) + os.chown('%s.pub' % ssh_key_file, info[2], info[3]) return (rc, out, err) def ssh_key_fingerprint(module, user, ssh):