Skip to content

LDAP Client Software

In addition to the built-in web interface (powered by phpLDAPadmin) for managing your OpenDirectory account, you can interact with the directory using any LDAP-compatible external client. Here are a few recommended clients.

Apache Directory Studio (GUI)

Easy to use grahical interface that is similar to the built-in web interface. This client is useful for browsing and managing large directories.

apacheds screenshot

ldapvi (interactive CLI)

An interactive CLI application that will translate any search base into an editable text file.

apacheds screenshot

Many Linux distributions provide an official version of ldapvi, which can be installed with the package manager:

sudo apt install ldapvi

Try it out with the example directory:

ldapvi -h ldap://example.opendirectory.net -D "cn=example,ou=admins,dc=opendirectory,dc=net" -w Passw0rd -b "dc=example,dc=opendirectory,dc=net"

ldap-utils (CLI)

A collection of commands for searching, modifying, and deleting entries from an LDAP server.

For example, to print the entry for Barney Rubble:

$ ldapsearch -H ldap://example.opendirectory.net -D "cn=example,ou=admins,dc=opendirectory,dc=net" -w Passw0rd -b "dc=example,dc=opendirectory,dc=net" "cn=Barney Rubble"

# extended LDIF
#
# LDAPv3
# base <dc=example,dc=opendirectory,dc=net> with scope subtree
# filter: cn=Barney Rubble
# requesting: ALL
#

# Barney Rubble, People, example.opendirectory.net
dn: cn=Barney Rubble,ou=People,dc=example,dc=opendirectory,dc=net
cn: Barney Rubble
gidNumber: 1001
givenName: Barney
homeDirectory: /home/users/flintstones/barney
jpegPhoto:: /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCw
 kMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBE
 UHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACG
[...]
l: Bedrock
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
sn: Rubble
uid: barney
uidNumber: 1102

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1