From: Faiyaz Ahmed <faiyaza@cs.princeton.edu>
Date: Mon, 28 Jul 2008 19:45:40 +0000 (+0000)
Subject: Chown .ssh to user:slices.  SSH will bail otherwise.
X-Git-Tag: NodeManager-1.8-0~20
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=4c6c7e46c43e7c415caab7007a8fd2899ce21f2e;p=nodemanager.git

Chown .ssh to user:slices.  SSH will bail otherwise.
---

diff --git a/accounts.py b/accounts.py
index 012c040..3065408 100644
--- a/accounts.py
+++ b/accounts.py
@@ -23,6 +23,7 @@ maximum stack size.
 import Queue
 import os
 import pwd
+from grp import getgrnam
 import threading
 
 import logger
@@ -89,8 +90,11 @@ class Account:
             if not os.access(dot_ssh, os.F_OK): os.mkdir(dot_ssh)
             os.chmod(dot_ssh, 0700)
             tools.write_file(dot_ssh + '/authorized_keys', lambda f: f.write(new_keys))
-            logger.verbose('%s: installing ssh keys' % self.name)
-            os.chown(dot_ssh + '/authorized_keys', pwd.getpwnam(self.name)[2], 504)
+            logger.log('%s: installing ssh keys' % self.name)
+            user = pwd.getpwnam(self.name)[2]
+            group = getgrnam("slices")[2]
+            os.chown(dot_ssh, user, group)
+            os.chown(dot_ssh + '/authorized_keys', user, group)
 
     def start(self, delay=0): pass
     def stop(self): pass