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!
Find a file
docelic@crystallabs.io c89d193e53 Properly handle Ctrl+C; add '?' and 'man' aliases; don't import symbols
Make Ctrl+C behave like in the shell (abort current line, redisplay)
Add '?' and 'man' as aliases for help
Add qw// on module 'use's to not import any symbols

FossilOrigin-Name: fc4cb91774beb03f371ad04c5b26e45f6db49ae40af72bb2fbccc6c3c1a65e6f
2019-04-29 19:57:56 +00:00
.hgsigs Added signature for changeset ac3c6d1057d5 2015-03-04 19:20:59 +00:00
.hgtags Added tag v1.4.0 for changeset e8af5aa8bd15 2017-06-07 22:01:14 +00:00
CHANGELOG Update changelog. 2017-06-07 22:01:09 +00:00
CONTRIBUTORS Add a "real" change log. 2016-01-13 19:14:17 +00:00
LICENSE Add LICENSE file for packaging, bump copyright. 2019-04-15 21:16:09 +00:00
Makefile Add a "real" change log. 2016-01-13 19:14:17 +00:00
README.md Add a link to the Fedora package. 2018-04-04 19:30:00 +00:00
shelldap Properly handle Ctrl+C; add '?' and 'man' aliases; don't import symbols 2019-04-29 19:57:56 +00:00

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.