git://git.onelab.eu
/
nodemanager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reguire gnupg1 on f>=31; sense the system to use gpg1 when installed
[nodemanager.git]
/
plugins
/
specialaccounts.py
diff --git
a/plugins/specialaccounts.py
b/plugins/specialaccounts.py
index
359ff21
..
573bc3d
100644
(file)
--- a/
plugins/specialaccounts.py
+++ b/
plugins/specialaccounts.py
@@
-1,13
+1,11
@@
-#!/usr/bin/python -tt
+#!/usr/bin/python
3
-tt
# vim:set ts=4 sw=4 expandtab:
#
# vim:set ts=4 sw=4 expandtab:
#
-# $Id$
-# $URL$
#
# NodeManager plugin to create special accounts
"""
#
# NodeManager plugin to create special accounts
"""
-
Have NM
create/populate accounts/ssh keys for special persons such as root, site_admin, etc.
+create/populate accounts/ssh keys for special persons such as root, site_admin, etc.
"""
"""
@@
-25,12
+23,12
@@
import tools
# right after conf_files
priority = 3
# right after conf_files
priority = 3
-def start(
options, conf
):
+def start():
logger.log("specialaccounts: plugin starting up...")
def GetSlivers(data, conf = None, plc = None):
logger.log("specialaccounts: plugin starting up...")
def GetSlivers(data, conf = None, plc = None):
- if 'accounts' not in data:
- logger.log_missing_data("specialaccounts.GetSlivers",'accounts')
+ if 'accounts' not in data:
+ logger.log_missing_data("specialaccounts.GetSlivers",
'accounts')
return
for account in data['accounts']:
return
for account in data['accounts']:
@@
-46,21
+44,21
@@
def GetSlivers(data, conf = None, plc = None):
pw_dir = pw_info[5]
# populate account's .ssh/authorized_keys file
pw_dir = pw_info[5]
# populate account's .ssh/authorized_keys file
- dot_ssh = os.path.join(pw_dir,'.ssh')
+ dot_ssh = os.path.join(pw_dir,
'.ssh')
if not os.access(dot_ssh, os.F_OK): os.mkdir(dot_ssh)
if not os.access(dot_ssh, os.F_OK): os.mkdir(dot_ssh)
- auth_keys = os.path.join(dot_ssh,'authorized_keys')
+ auth_keys = os.path.join(dot_ssh,
'authorized_keys')
# catenate all keys in string, add newlines just in case (looks like keys already have this, but)
auth_keys_contents = '\n'.join(new_keys)+'\n'
# catenate all keys in string, add newlines just in case (looks like keys already have this, but)
auth_keys_contents = '\n'.join(new_keys)+'\n'
- changes = tools.replace_file_with_string(auth_keys,auth_keys_contents)
+ changes = tools.replace_file_with_string(auth_keys,
auth_keys_contents)
if changes:
logger.log("specialaccounts: keys file changed: %s" % auth_keys)
if changes:
logger.log("specialaccounts: keys file changed: %s" % auth_keys)
-
+
# always set permissions properly
# always set permissions properly
- os.chmod(dot_ssh, 0700)
- os.chown(dot_ssh, uid,gid)
- os.chmod(auth_keys, 0600)
- os.chown(auth_keys, uid,gid)
+ os.chmod(dot_ssh, 0
o
700)
+ os.chown(dot_ssh, uid,
gid)
+ os.chmod(auth_keys, 0
o
600)
+ os.chown(auth_keys, uid,
gid)
logger.log('specialaccounts: installed ssh keys for %s' % name)
logger.log('specialaccounts: installed ssh keys for %s' % name)