README.md
author Mahlon E. Smith <mahlon@martini.nu>
Sun, 13 Oct 2019 10:44:16 -0700
changeset 131 3b6cb1117ffb
parent 129 3bb9610fcc12
permissions -rw-r--r--
Fix sasl for DIGEST-MD5, PLAIN, and LOGIN mechanisms, which I don't think ever actually worked properly. Add a sasluser argument if a specific identity is required for the backend, which if unsupplied, tries to guess if a binddn is present. (Uwe's previous commit fixed EXTERNAL and GSSAPI, which did work, but randomly failed due to hash ordering.) Minor style cleanups, remove duplicate/unecessary logic for anonymous binds.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
85
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     1
Shelldap
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     2
========
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     3
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     4
A handy shell-like interface for browsing LDAP servers and editing their
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     5
content. It keeps command history, has sane autocompletes, credential caching,
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     6
site-wide and individual configs, and it's fun to say.
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     7
Shelldap! Shelldap! Shelldap!
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     8
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
     9
Witness!
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    10
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    11
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    12
```
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    13
% shelldap 
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    14
~ > [ tab ]
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    15
~ > 
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    16
cat     clear   cp      delete  env     grep    id      ls      move    passwd  read    search  touch   whoami  
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    17
cd      copy    create  edit    exit    help    list    mkdir   mv      pwd     rm      setenv  vi      
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    18
~ > cd ou=People
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    19
ou=People,~ > cat uid=ma[ tab ]
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    20
ou=People,~ > cat uid=mahlon
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    21
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    22
dn: uid=mahlon,ou=People,dc=laika,dc=com
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    23
objectClass: inetOrgPerson
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    24
objectClass: organizationalPerson
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    25
objectClass: person
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    26
objectClass: top
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    27
objectClass: posixAccount
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    28
objectClass: shadowAccount
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    29
objectClass: apple-user
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    30
cn: Mahlon E. Smith
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    31
departmentNumber: Technology - IT
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    32
displayName: Mahlon
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    33
gecos: Mahlon E. Smith
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    34
gidNumber: 200
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    35
givenName: Mahlon
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    36
homeDirectory: /home/m/mahlon
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    37
l: Ghetto
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    38
loginShell: /bin/tcsh
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    39
mail: mahlon@martini.nu
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    40
mobile: 1+8829999005747
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    41
sn: Smith
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    42
title: Manager, Information Systems
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    43
uid: mahlon
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    44
uidNumber: 20933
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    45
userPassword: *
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    46
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    47
ou=People,~ > 
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    48
```
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    49
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    50
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    51
Downloads
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    52
---------
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    53
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    54
You can download the latest script [here](http://code.martini.nu/shelldap/archive/tip.zip).
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    55
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    56
It is also available via the 
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    57
[FreeBSD ports](http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/shelldap/) system, OS X via 
86
9a5dacf95052 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents: 85
diff changeset
    58
[macports](https://trac.macports.org/browser/trunk/dports/net/shelldap/Portfile), Debian/Ubuntu via [apt](https://packages.debian.org/shelldap),
98
22f52658f883 Add a link to the Fedora package.
Mahlon E. Smith <mahlon@martini.nu>
parents: 88
diff changeset
    59
NetBSD's [pkgsrc](ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/sysutils/shelldap/README.html), OpenBSD [ports](http://openports.se/sysutils/shelldap), openSUSE's [build service](http://software.opensuse.org/search?q=shelldap&baseproject=openSUSE%3AFactory&lang=en), and as a Fedora [RPM](https://src.fedoraproject.org/rpms/shelldap).
85
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    60
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    61
Many thanks to the maintainers of these packages.
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    62
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    63
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    64
Installation
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    65
-------------
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    66
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    67
Shelldap is simply a perl script.  Put it into a convenient place of your choosing.
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    68
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    69
Shelldap requires the following perl modules to function properly:
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    70
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    71
* YAML::Syck
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    72
* Term::Shell
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    73
* Digest::MD5 
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    74
* Net::LDAP
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    75
* Algorithm::Diff
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    76
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    77
Additional functionality is supported with the presence of:
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    78
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    79
* IO::Socket::SSL
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    80
* Authen::SASL
88
60f1cf97910d README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents: 86
diff changeset
    81
* Term::ReadLine::Gnu
85
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    82
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    83
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    84
Development
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    85
-----------
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    86
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    87
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    88
You can also check out the source via [Mercurial](http://mercurial.selenic.com/wiki/) from the following uri:
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    89
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    90
    % hg clone http://code.martini.nu/shelldap/
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    91
128
c86968a0e5e7 Bye, Bitbucket.
Mahlon E. Smith <mahlon@martini.nu>
parents: 98
diff changeset
    92
or via its [GitHub](https://github.com/) mirror at:
85
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    93
129
3bb9610fcc12 Fix typo.
Mahlon E. Smith <mahlon@martini.nu>
parents: 128
diff changeset
    94
    % git clone https://github.com/mahlonsmith/shelldap.git
85
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    95
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    96
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    97
Documentation
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    98
-------------
7eb0c972e515 README.md edited online with Bitbucket
Mahlon Smith <mahlon@martini.nu>
parents:
diff changeset
    99
98
22f52658f883 Add a link to the Fedora package.
Mahlon E. Smith <mahlon@martini.nu>
parents: 88
diff changeset
   100
Once installed, Shelldap is fully documented via perldoc, and has a built-in `help` command as well.