X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fspecialaccounts.py;h=573bc3d9c0f9a3faa4b476c91589dfb507b04a3c;hb=HEAD;hp=359ff210d1dac66ab287863ef73b707c80a67903;hpb=342c63a2acd2acfb5876b872cea47f152ca5f12e;p=nodemanager.git diff --git a/plugins/specialaccounts.py b/plugins/specialaccounts.py index 359ff21..573bc3d 100644 --- a/plugins/specialaccounts.py +++ b/plugins/specialaccounts.py @@ -1,13 +1,11 @@ -#!/usr/bin/python -tt +#!/usr/bin/python3 -tt # vim:set ts=4 sw=4 expandtab: # -# $Id$ -# $URL$ # # 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 -def start(options, conf): +def start(): 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']: @@ -46,21 +44,21 @@ def GetSlivers(data, conf = None, plc = None): 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) - 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' - 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) - + # 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, 0o700) + os.chown(dot_ssh, uid, gid) + os.chmod(auth_keys, 0o600) + os.chown(auth_keys, uid, gid) logger.log('specialaccounts: installed ssh keys for %s' % name)