Crash-Course LDAP
$Id: index.html,v 1.4 2007/08/28 20:04:32 HannesReisinger Exp $
Anhand von eigenen Erfahrungen wird dem Crash-Course-User ein
grundlegender Einstieg in LDAP vermittelt.
Die Beispieldaten sollen innerhalb der Domain cc (für
crash-course) zwei Benutzern (Hinz und ich) einerseits ein eigenes
Adressbuch bieten und andererseits den Zugriff auf ein gemeinsames
Adressbuch ermöglichen.
Unter Windows wird
dazu cygwin verwendet und
für Linux wurde
Ubuntu verwendet.
OpenLDAP installieren
- Linux (so einfach kanns gehen ;-)
# apt-get install slapd
- Windows - cygwin herunterladen und
installieren
In der Kategorie Net das
Paket openldap
auswählen. Wegen eines Fehlers bei den
Paketabhängigkeiten wird auch das Paket openldap-devel benötigt (ansonsten
fehlt das Verzeichnis /usr/share/openldap/ucdata
und wir bekommen beim Start des OpenLDAP-Servers die Fehlermeldung
"error loading ucdata").
OpenLDAP konfigurieren
- Existierende Konfiguration sichern
Linux # cp /etc/ldap/slapd.conf /etc/ldap/slapd.conf.original
Windows kann entfallen, da es bereits die Datei
/etc/openldap/slapd.conf.default
gibt, wenn man jedoch
bereits seine eigene Konfiguration erstellt hat, dann
$ /etc/openldap/slapd.conf /etc/openldap/slapd.conf.original
- Beispielkonfiguration für Linux oder cygwin runterladen und im
Konfigurationsverzeichnis speichern. Linux
/etc/ldap
und Windows /etc/openldap
.
- Verzeichnis für die Beispieldaten erzeugen und unter Linux
noch den richtigen User und die richtige Gruppe setzen.
Linux # mkdir /var/lib/ldap/cc ; chown openldap:openldap
/var/lib/ldap/
Windows mkdir /var/openldap/cc
.
OpenLDAP mit Beispieldaten befüllen
- Beispieldaten runterladen und im
/tmp-Verzeichnis speichern
- Linux (als root) und cygwin:
/usr/sbin/slapadd -l /tmp/cc.ldif
Normalerweise wäre noch der Aufruf von
/usr/sbin/slapindex
notwendig. Da wir aber in der
Beispielkonfiguration keine Indizes angegeben haben, kann auf
/usr/sbin/slapindex
verzichtet werden.
OpenLDAP starten
- Linux und Windows:
/usr/sbin/slapd
(unter Linux normalerweise mit /etc/init.d/slapd
start
, doch der Einheitlichkeit halber wie oben)
LDAP Studio installieren
LDAP Studio mit OpenLDAP verbinden
- "File" -> "New..." auswahlen und dann "LDAP Browser" ->
"LDAP Connection" und "Next"
oder im View "Connections" mit rechtem Mausclick das
Kontextmenü öffnen und "New Connection..."
auswählen
- Dann im Wizard die entsprechenden Verbindungseigenschaften
eingeben.
Connection name: crash course
Hostname: localhost
- Bind DN or user: cn=Admin,dc=cc
Bind password: cc4you
- "Get base DNs from Root DSE" auswählen
Einfache Experimente mit LDAP Studio
- Im View "Connections" die Verbindung "crash course"
auswählen und im "LDAP Browser" den "DIT" (Directory
Information Tree) aufklappen.
- Mein Telefonbuch als Bookmark setzen:
"File" -> "New..." auswahlen und dann "LDAP Browser" -> "LDAP
Search" und "Next"
oder einfach im "LDAP Browser" Rechtsklick und dann "New
Bookmark..." auswählen.
Bookmark Name: Mein Telefonbuch
Bookmark DN: ou=ab,uid=hare,dc=cc
Alternativ zur Eingabe des Bookmark DN kann "Browse..." verwendet
werden.
Letztendlich wollen wir Bookmarks verwenden. Dazu am Bookmark F3
drücken bzw. Rechtsclick und "Open Bookmark in DIT"
auswählen.
- Anregung zu eigenen Experimenten: Bookmarks für das
Adressbuch von Hinz und das gemeinsame Adressbuch setzen.
- Seine größte Stärke spielt LDAP aber dann aus,
wenn es um das Suchen geht.
Einfache Beispiele:
Nach allen im Verzeichnis vorhandenen Personen suchen:
"File" -> "New..." auswahlen und dann "LDAP Browser" -> "LDAP
Search" und "Next"
oder einfach im "LDAP Browser" Rechtsklick und dann "New Search..."
auswählen
Search Name: Alle Personen
Search Base: dc=cc
Filter: (objectClass=person)
Scope: Subtree
- Nach den Mitarbeitern von cc suchen:
"File" -> "New..." auswahlen und dann "LDAP Browser" -> "LDAP
Search" und "Next"
oder einfach im "LDAP Browser" Rechtsklick und dann "New Search..."
auswählen
Search Name: Mitarbeiter von cc
Search Base: dc=cc
Filter: (objectClass=person)
Scope: One Level
- Nach Personen mit einem 'a' im Nachnamen suchen:
"File" -> "New..." auswahlen und dann "LDAP Browser" -> "LDAP
Search" und "Next"
oder einfach im "LDAP Browser" Rechtsklick und dann "New Search..."
auswählen
Search Name: Personen mit einem 'a' im Nachnamen
Search Base: dc=cc
Filter: (&(objectClass=person)(sn=*a*))
Scope: Subtree
- Nach Personen mit einem 'z' im Nachnamen oder einem 'n' im
Vornamen suchen:
"File" -> "New..." auswahlen und dann "LDAP Browser" -> "LDAP
Search" und "Next"
oder einfach im "LDAP Browser" Rechtsklick und dann "New Search..."
auswählen
Search Name: Personen mit einem 'z' im Nachnamen oder einem 'n' im
Vornamen
Search Base: dc=cc
Filter: (&(objectClass=person)(|(sn=*z*)(givenName=*n*)))
Scope: Subtree
- Das Ergenis sollte dann so aussehen:
- Die diversen Entries mit LDAP Studio verändern
Nutzung des Verzeichnisdienstes in Thunderbird
- Thunderbird runterladen
und installieren
- Thunderbird für LDAP konfigurieren "Bearbeiten" -
"Einstellungen" auswählen "Verfassen" - "Adressieren"
auswählen und "LDA-Verzeichnisserver" anclicken.
"Bearbeiten..." anclicken, dann "Hinzufügen" anclicken und die
Daten für das Gemeinsame Adressbuch eingeben und "OK", "OK"
und "Schließen".
- Adressbuch abfragen Im noch offenen Adressbuch "Gemeinsames
Adressbuch" auswählen. Bei der ersten Eingabe eines
Buchstabens im Suchfeld wird man nach dem Kennwort gefragt (cc4you
zu Erinnerung ;-). Wenn nach 'm' gesucht wird, dann wird "Max
Mustermann" gefunden.
- Um dem Benutzer Hannes Reisinger sein Adressbuch zuzuweisen,
muss im Thunderbird-Hauptfenster "Bearbeiten" - "Konten"
ausgewählt werden. Dann bei diesem Konto "Verfassen &
Adressieren" auswählen und dann rechts bei "Adressieren"
"Einen anderen LDAP-Verzeichnisserver verwenden" anclicken. Unter
"Bearbeiten" das Adressbuch von Hannes Reisinger
hinzufügen.
Nutzung des Verzeichnisdienstes in Outlook
- Outlook nicht runterladen, sondern kaufen und
installieren.
- "Extras" -> "E-Mail-Konten..." auswählen
- "Ein neues Verzeichnis oder Adressbuch hinzufügen"
auswählen
- "Internetverzeichnisdienst (LDAP)" auswählen
- Servername: localhost
Benutzername: cn=Admin,dc=cc
Kennwort: cc4you
Benutzername und Kennwort entsprechen den Werten, die auch in
slapd.conf stehen.
- "Weitere Einstellungen..." auswählen und als "Suchbasis"
das Adressbuch von Hannes Reisinger "ou=ab,uid=hare,dc=cc"
eingeben
- Outlook neu
starten
- "Extras" -> "Adressbuch..." auswählen und in der
Dropdownlist auf der rechten Seite "Namen anzeigen aus:" localhost
auswählen.
Dann mit Extras -> Suchen... nach allen Personen suchen, deren
Vornamen mit 'a' beginnt
Das Ergnis sieht dann so aus:
und ein Doppelclick auf den ausgewählten Eintrag zeigt seine
Eigenschaften
Fortgeschrittenes Experiment mit LDAP Studio - Schema
erweitern
Hintergrund: Standardmäßig kein Land bei der
InetOrgPerson
Am Beispiel von Andrea Mayr ist ersichtlich, dass kein Land
eingetragen ist.
Es ist Zeit, auf Basis dieses Crash-Course-Verzeichnisses eigene
Abfragen u.a. zu entwickeln.
Sollte es dabei notwendig werden, den ursprünglichen
Datenbestand wiederherzustellen, dann kann das einfach dadurch
erledigt werden, dass der LDAP-Server beendet wird, die
Datendateien gelöscht werden, die Daten neu importiert werden
und der Server wieder neu gestartet wird.
- Linux:
# kill `cat /var/run/slapd/pid`
Windows: $ kill `cat /var/openldap/run/pid`
- Linux:
# rm /var/lib/ldap/cc/*
Windows: $ rm /var/openldap/cc/*
/usr/sbin/slapadd -l /tmp/cc.ldif
/usr/sbin/slapd
Links
Bibliographie
todo