diff options
author | Olivier Blin <dev@blino.org> | 2017-02-23 01:29:21 +0100 |
---|---|---|
committer | Olivier Blin <dev@blino.org> | 2017-02-23 01:52:38 +0100 |
commit | bbf66681a90a588a288cb0d2a812e7a8ba0706ba (patch) | |
tree | 5acf1578aef8a8cbc44878af0ff9c49f977c1464 | |
parent | f662c03552bf595f7fce3dd5d49b1e7a5b116b01 (diff) | |
download | puppet-bbf66681a90a588a288cb0d2a812e7a8ba0706ba.tar puppet-bbf66681a90a588a288cb0d2a812e7a8ba0706ba.tar.gz puppet-bbf66681a90a588a288cb0d2a812e7a8ba0706ba.tar.bz2 puppet-bbf66681a90a588a288cb0d2a812e7a8ba0706ba.tar.xz puppet-bbf66681a90a588a288cb0d2a812e7a8ba0706ba.zip |
ldap-sshkey2file.py: use argparse for options parsing and usage
-rwxr-xr-x | modules/openssh/templates/ldap-sshkey2file.py | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/modules/openssh/templates/ldap-sshkey2file.py b/modules/openssh/templates/ldap-sshkey2file.py index f01a3fbf..7c41832d 100755 --- a/modules/openssh/templates/ldap-sshkey2file.py +++ b/modules/openssh/templates/ldap-sshkey2file.py @@ -5,6 +5,8 @@ import os import random import shutil import tempfile +import argparse +import textwrap try: import ldap @@ -29,18 +31,19 @@ nslcd_conf_file="<%= nslcd_conf_file %>" filter="(&(objectClass=inetOrgPerson)(objectClass=ldapPublicKey)(objectClass=posixAccount)(sshPublicKey=*))" keypathprefix='/home' -def usage(): - print "%s" % sys.argv[0] - print - print "Will fetch all enabled user accounts under %s" % peopledn - print "with ssh keys in them and write each one to" - print "%s/<login>/.ssh/authorized_keys" % keypathprefix - print - print "It will return failure when no keys are updated and success" - print "when one or more keys have changed." - print - print "This script is intended to be run from cron as root" - print +parser = argparse.ArgumentParser( + formatter_class=argparse.RawDescriptionHelpFormatter, + description=textwrap.dedent('''\ + Will fetch all enabled user accounts under %s + with ssh keys in them and write each one to + %s/<login>/.ssh/authorized_keys + + It will return failure when no keys are updated and success + when one or more keys have changed. + + This script is intended to be run from cron as root; + ''' % (peopledn, keypathprefix))) +args = parser.parse_args() def get_bindpw(): try: @@ -134,10 +137,6 @@ def write_keys(keys, user, uid, gid): return True -if len(sys.argv) != 1: - usage() - sys.exit(1) - bindpw = get_bindpw() changed = False |