diff options
Diffstat (limited to 'ipa-admintools')
-rwxr-xr-x | ipa-admintools/freeipa-admintools.spec | 11 | ||||
-rwxr-xr-x | ipa-admintools/freeipa-admintools.spec.in | 11 | ||||
-rw-r--r-- | ipa-admintools/ipa-adduser | 25 | ||||
-rw-r--r-- | ipa-admintools/ipa-finduser | 40 |
4 files changed, 60 insertions, 27 deletions
diff --git a/ipa-admintools/freeipa-admintools.spec b/ipa-admintools/freeipa-admintools.spec index bcd3d9d2..904a3b69 100755 --- a/ipa-admintools/freeipa-admintools.spec +++ b/ipa-admintools/freeipa-admintools.spec @@ -1,6 +1,6 @@ Name: freeipa-admintools Version: 0.1.0 -Release: 1%{?dist} +Release: 3%{?dist} Summary: FreeIPA authentication server Group: System Environment/Base @@ -36,7 +36,12 @@ rm -rf %{buildroot} %changelog -* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1 -- Initial rpm version +* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3 +- Abstracted client class to work directly or over RPC +* Wed Aug 1 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-2 +- Update tools to do kerberos +- Add User class +* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1 +- Initial rpm version diff --git a/ipa-admintools/freeipa-admintools.spec.in b/ipa-admintools/freeipa-admintools.spec.in index bcd3d9d2..904a3b69 100755 --- a/ipa-admintools/freeipa-admintools.spec.in +++ b/ipa-admintools/freeipa-admintools.spec.in @@ -1,6 +1,6 @@ Name: freeipa-admintools Version: 0.1.0 -Release: 1%{?dist} +Release: 3%{?dist} Summary: FreeIPA authentication server Group: System Environment/Base @@ -36,7 +36,12 @@ rm -rf %{buildroot} %changelog -* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1 -- Initial rpm version +* Mon Aug 5 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-3 +- Abstracted client class to work directly or over RPC +* Wed Aug 1 2007 Rob Crittenden <rcritten@redhat.com> - 0.1.0-2 +- Update tools to do kerberos +- Add User class +* Fri Jul 27 2007 Karl MacMillan <kmacmill@localhost.localdomain> - 0.1.0-1 +- Initial rpm version diff --git a/ipa-admintools/ipa-adduser b/ipa-admintools/ipa-adduser index b40fdee2..af922833 100644 --- a/ipa-admintools/ipa-adduser +++ b/ipa-admintools/ipa-adduser @@ -21,8 +21,11 @@ import sys from optparse import OptionParser import ipa -import ipa.rpcclient +import ipa.ipaclient as ipaclient +import ipa.config + import xmlrpclib +import kerberos def usage(): print "ipa-adduser [-c|--gecos STRING] [-d|--directory STRING] [-f|--firstname STRING] [-l|--lastname STRING] user" @@ -43,7 +46,8 @@ def parse_options(): parser.add_option("--usage", action="store_true", help="Program usage") - (options, args) = parser.parse_args() + args = ipa.config.init_config(sys.argv) + options, args = parser.parse_args(args) if not options.gn or not options.sn: usage() @@ -52,14 +56,14 @@ def parse_options(): def main(): user={} - (options, args) = parse_options() + options, args = parse_options() - if len(args) != 1: + if len(args) != 2: usage() - user['gn'] = options.gn + user['givenName'] = options.gn user['sn'] = options.sn - user['uid'] = args[0] + user['uid'] = args[1] if options.gecos: user['gecos'] = options.gecos if options.directory: @@ -70,10 +74,15 @@ def main(): user['loginshell'] = "/bin/bash" try: - ipa.rpcclient.add_user(user) - print args[0] + " successfully added" + client = ipaclient.IPAClient() + client.add_user(user) + print args[1] + " successfully added" except xmlrpclib.Fault, f: print f.faultString + return 1 + except kerberos.GSSError, e: + print "Could not initialize GSSAPI: %s/%s" % (e[0][0][0], e[0][1][0]) + return 1 return 0 diff --git a/ipa-admintools/ipa-finduser b/ipa-admintools/ipa-finduser index 205b47ce..a54e141e 100644 --- a/ipa-admintools/ipa-finduser +++ b/ipa-admintools/ipa-finduser @@ -18,12 +18,14 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +import sys from optparse import OptionParser -import ipa -import ipa.rpcclient -import base64 +import ipa.ipaclient as ipaclient +import ipa.config + import sys import xmlrpclib +import kerberos def usage(): print "ipa-finduser <uid>" @@ -32,28 +34,40 @@ def usage(): def parse_options(): parser = OptionParser() - (options, args) = parser.parse_args() + args = ipa.config.init_config(sys.argv) + options, args = parser.parse_args(args) return options, args def main(): user={} - (options, args) = parse_options() + options, args = parse_options() - if len(args) != 1: + if len(args) != 2: usage() try: - ent = ipa.rpcclient.get_user(args[0]) - for name, value in ent.items(): - if isinstance(value, str): - print name + ": " + value + client = ipaclient.IPAClient() + ent = client.get_user(args[1]) + attr = ent.attrList() + + print "dn: " + ent.dn + + for a in attr: + value = ent.getValues(a) + if isinstance(value,str): + print a + ": " + value else: - print name + ": " - for x in value: - print "\t" + x + print a + ": " + for l in value: + print "\t" + l + except xmlrpclib.Fault, fault: print fault.faultString + return 1 + except kerberos.GSSError, e: + print "Could not initialize GSSAPI: %s/%s" % (e[0][0][0], e[0][1][0]) + return 1 return 0 |