Previously, when autogenerating the config file, the name of config itself was included in the YAML contents. This in turn caused the config file to be re-parsed again and any command line arguments were overwritten with values from the config file. Now the name of config file is not dumped if it is equal to the file being written, and the config file is not reparsed if it is the same file. FossilOrigin-Name: 9c4483633c8bcf36f4e98ce41ab0f54ea4620a4b7f21ccf07e563e49afbe0da6 |
||
|---|---|---|
| .hgsigs | ||
| .hgtags | ||
| CHANGELOG | ||
| CONTRIBUTORS | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| shelldap | ||
Shelldap
A handy shell-like interface for browsing LDAP servers and editing their content. It keeps command history, has sane autocompletes, credential caching, site-wide and individual configs, and it's fun to say. Shelldap! Shelldap! Shelldap!
Witness!
% shelldap
~ > [ tab ]
~ >
cat clear cp delete env grep id ls move passwd read search touch whoami
cd copy create edit exit help list mkdir mv pwd rm setenv vi
~ > cd ou=People
ou=People,~ > cat uid=ma[ tab ]
ou=People,~ > cat uid=mahlon
dn: uid=mahlon,ou=People,dc=laika,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: apple-user
cn: Mahlon E. Smith
departmentNumber: Technology - IT
displayName: Mahlon
gecos: Mahlon E. Smith
gidNumber: 200
givenName: Mahlon
homeDirectory: /home/m/mahlon
l: Ghetto
loginShell: /bin/tcsh
mail: mahlon@martini.nu
mobile: 1+8829999005747
sn: Smith
title: Manager, Information Systems
uid: mahlon
uidNumber: 20933
userPassword: *
ou=People,~ >
Downloads
You can download the latest script here.
It is also available via the FreeBSD ports system, OS X via macports, Debian/Ubuntu via apt, NetBSD's pkgsrc, OpenBSD ports, openSUSE's build service, and as a Fedora RPM.
Many thanks to the maintainers of these packages.
Installation
Shelldap is simply a perl script. Put it into a convenient place of your choosing.
Shelldap requires the following perl modules to function properly:
- YAML::Syck
- Term::Shell
- Digest::MD5
- Net::LDAP
- Algorithm::Diff
Additional functionality is supported with the presence of:
- IO::Socket::SSL
- Authen::SASL
- Term::ReadLine::Gnu
Development
You can also check out the source via Mercurial from the following uri:
% hg clone http://code.martini.nu/shelldap/
or via BitBucket at:
% hg clone https://bitbucket.org/mahlon/shelldap
Documentation
Once installed, Shelldap is fully documented via perldoc, and has a built-in help command as well.