lelectronic.alchemy   lphotos   lbiographics   lletterpress   lprojects  


electronic.alchemy


lresume
lrms
lgotpike?

Hyperactive Directory Administrator

HAD Administrator News

June 27 2002: Version 0.4 is released! Download the latest version here or read the Change log.

September 13 2002: Version 0.3 is released!

July 23 2002: Version 0.2.5 is released.

June 3 2002: HDAdmin discussion mailing list now available.

May 13 2002: Version 0.2 is released (finally)!

February 3 2002: Version 0.1.5 is released!

What is HAD Administrator?

Hyperactive Directory Administrator (HAD Administrator) is a graphical tool for administering Users, Groups, Hosts and other objects in an LDAP directory. It differs from other tools available such as GQ in that it is not designed to be a general purpose directory editor and is only intended for use in an LDAP environment (it doesn't do anything with NIS or local files). HAD Administrator is roughly modelled after the Microsoft Active Directory Users and Computers tool, which I find surprisingly useful.

What can it do?

Quite a bit, actually. Even though HDAdmin isn't finished yet, you can do all sorts of useful things:
  • Connect and bind to an LDAP searver using DNs or usernames (can also connect over SSL)
  • View a Directory Tree and the objects in the tree
  • Search the directory tree for any of the supported object types
  • View, edit and add users, groups and hosts
  • Change passwords and disable accounts
  • Save objects as LDIF files
  • View other objects in a not so pretty way (LDIF)

Right now, it can not:

  • Create or edit other types of data such as aliases or netgroups.
  • Extend the existing data types to support additional data, such as Jabber profiles or Solaris RBAC data.
  • Slice bread

That said, some day I hope it will be able to do all of these things and more. I'm working on adding this functionality as time allows, suggestions and comments are welcome (my email is at the bottom of the page).

What does it look like?

Here are a few screenshots to whet your appetite (sorry for the poor quality)...
     

What do I need to run it?

HAD Administrator is written in Pike, a fabulous object oriented language akin to C or Java, but interpreted like Python or Perl. You'll need a copy of Pike 7.4 (I tested the current release using 7.4.20) from the Pike website. You also need GTK+ and the Gnome libraries installed before you compile Pike. Additionally, a sense of adventure is helpful.

Where can I discuss it?

A discussion mailing list is available by sending a message containing the subject "subscribe" to hdadmin-discuss-request at riverweb.com. The mailing list address is hdadmin-discuss at riverweb.com.

Where can I get it?

You can download the latest source release, version 0.4,
here.

This is a version known to compile on my development systems. I've tested using a recent Pike compiled from CVS sources on Linux and Solaris. I test against iPlanet DS 4.1. Previous versions required a bunch of patches to Pike, but I've since gained access to the Pike CVS and so they've been incorporated. Any release of Pike v7.4 should do just fine.

I provide this under the GPL, and make no warranties about its usefulnes or ability to not cause serious problems for others. Use at your own risk.

How do I use it?

Assuming your Pike is up to snuff (you have all the latest patches and GTK+ and Gnome support compiled in), just do:

    pike -M. hdadmin.pike

If you've got an /etc/ldap.conf from (pam|nss)_ldap, HADA will read it for some reasonable defaults. If not, you will need to provide login information:

  • Server (an LDAP url of the form: ldap(s)://server:port)
  • Base DN (dc=mydomain, dc=com)
  • User DN or username (cn=directory administrator or hww3 as examples)
  • Password

The rest should be pretty obvious, though I hope to get some actual documentation out sometime sooner rather than later.

Note: HADA's behavior is to ensure that each object that can be edited is a member of the proper objectclasses. If you edit a user, for example, HADA will verify the objectclass of a user, and if necessary, add additional objectclasses to the user. If you don't have all of the required schemas on your directory server, you'll probably get an error. The good news is that the schemas used are relatively standard (Person, PosixAccount, etc).

Also, there are new configuration files, located (optionally) in /etc/hdadmin.conf, ~/.hdadmin and $DIST/hdadmin_defaults.conf. Copy the default file to one of the other locations and edit to your heart's content!

How can I contribute?

I'm always glad to get suggestions, even happier to receive code. If you know Pike and would like to contribute, please send me diffs against the code distributed here, along with a description of what you've done and why. If it makes sense to me, I'll include it in the distribution.

Last modified June 2003 by Bill Welliver <hww3@riverweb.com>