Nach der Installation und Konfiguration des LDAP Servers muß dieser mit Daten gefüttert werden. Das folgende Beispiel erklärt den LDAP Server anhand einer fiktiven Firma mit mehreren Abteilungen. Die einzelnen Felder müssen den lokalen Gegebenheiten nur angepaßt werden, um eine simple Konfiguration aufzusetzten.
Für das folgende Beispiel wird im Verzeichnis /etc/openldap
das
Unterverzeichnis ldif/
angelegt. In diesem Verzeichnis kann mit jedem
x-beliebigen Editor, der ASCII unterstützt, eine Datei mit dem Namen
firmenstruktur.ldif
erstellt werden. Der Name und das
Verzeichnis für die Beispiel LDIF-Dateien sind beliebig. Es müssen für
den Fall, das andere Namen oder Pfade verwendet werden, diese nur an die
lokalen Gegebenheiten angepaßt werden.
Das Beispiel erstellt den DIT (Directory Information Tree) für die fiktive Firma Structure Net in Deutschland; hoffentlich gibts die wirklich nicht. Die Firma Structure Net bekommt drei Abteilungen spendiert: Sales, Development und Support. Jeder Abteilung werden zwei Mitarbeiter zugeordnet. Daraus ergibt sich folgende Struktur:
DE
|
+-- Structure Net --+
|
+-- Sales --+-- Mitarbeiter 1 (Axel Hueser)
| |
| +-- Mitarbeiter 2 (Jared Wiener)
|
+-- Development --+-- Mitarbeiter 3 (Thomas Bendler)
| |
| +-- Mitarbeiter 4 (Thomas Lippert)
|
+-- Support --+-- Mitarbeiter 5 (Elmar Mueller)
|
+-- Mitarbeiter 6 (Enrico Lemke)
Um das Beispiel übersichtlich zu gestalten und dem Nutzer zu zeigen, welche
Einträge für was verantwortlich sind, habe ich die Beispiel LDIF in eine Datei
für die Firmenstruktur und in eine Datei pro Abteilung aufgeteilt. Der
admin Account muß natürlich schon in der Firmenstrukur angegeben werden, da
sonst keine weiteren Einträge über ldapadd
möglich sind; doch dazu
später mehr.
dn: dc=structure-net, dc=de
objectclass: organization
objectclass: top
o: Structure Net
l: Hamburg
postalcode: 21033
streetadress: Billwiese 22
dn: ou=Sales, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Sales
description: Verkauf
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: ou=Development, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Development
description: Verkauf
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: ou=Support, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Support
description: Verkauf
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=admin, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
objectclass: inetorgperson
cn: admin
cn: Systemverwalter
cn: Thomas Bendler
sn: Bendler
uid: admin
mail: tbendler@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=ahueser, ou=Sales, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Axel Hueser
sn: Hueser
uid: ahueser
mail: ahueser@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=jwiener, ou=Sales, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Jared Wiener
sn: Wiener
uid: jwiener
mail: jwiener@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=tbendler, ou=Development, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
objectclass: inetorgperson
cn: tbendler
cn: Systemverwalter
cn: Thomas Bendler
sn: Bendler
uid: tbendler
mail: tbendler@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=tlippert, ou=Development, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Thomas Lippert
sn: Lippert
uid: tlippert
mail: tlippert@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=emueller, ou=Support, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Elmar Mueller
sn: Mueller
uid: emueller
mail: emueller@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
dn: uid=elemke, ou=Support, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
cn: Enrico Lemke
sn: Lemke
uid: elemke
mail: elemke@structure-net.de
l: Hamburg
postalcode: 21033
streetadress: billwiese 22
telephonenumber: 040-7654321
facsmiletelephonenumber: 040-7654321
Die vorgestellte Datenbank ist natürlich weder sonderlich umfangreich noch besonders trickreich. Doppelte Datensätze wie z.B. Admin und Bendler, die sich auf die selbe Person beziehen, können auch über Verweise aufgelöst werden. So kann man z.B. eine Gruppe People erstellen, in der man alle bekannten Personen unterbringt. In den Gruppen Sales, Development und Support trägt man dann Verweise auf diese Personen ein.
Als nächstes muß die LDIF Datei ins LDBM Format konvertiert werden. Dazu
dient der Befehl ldif2ldbm
. In der SuSE Distribution ist dieser unter
/usr/sbin/
zu finden. Der Befehl lautet also:
ldif2ldbm -i /etc/openldap/ldif/firmenstruktur.ldif \
-f /etc/openldap/slapd.conf
Sollten sich irgendwelche Dateien nicht in den Standardpfaden befinden, so kann man so nach den Dateien suchen lassen:
find / -name <Dateiname>
Ist die LDIF Datei konvertiert, muß der LDAP Server gestartet werden. SuSE stellt dafür ein init-Skript zur Verfügung:
/sbin/init.d/ldap start
Wenn der LDAP Server wunschgemäß läuft, kann dieser auch automatisch gestartet
werden, indem man die Variable START_LDAP in der rc.config
auf yes setzt.
Ist kein Startskript vorhanden, wird der LDAP Server mit folgendem Kommando gestartet:
slapd -f /usr/local/etc/openldap/slapd.conf
Um den LDAP Server zu testen, kann man jetzt eine Anfrage an selbigen schicken. Dies geschieht mit folgendem Befehl:
ldapsearch objectclass=\*
Der Server sollte nun eine Struktur, wie in der Datei firmenstruktur.ldif
beschrieben, als Rückantwort übergeben.
Nun gehts an das Hinzufügen von Datensätzen. Dazu werden die bereits erstellten
LDIF Dateien benutzt. Das Hinzufügen geschieht mit Hilfe des Befehls ldapadd
.
Dies geschieht folgendermaßen:
ldapadd -v -D dn="uid=admin,dc=structure-net,dc=de" \
-w secret -f /etc/openldap/ldif/sales.ldif
ldapadd -v -D dn="uid=admin,dc=structure-net,dc=de" \
-w secret -f /etc/openldap/ldif/development.ldif
ldapadd -v -D dn="uid=admin,dc=structure-net,dc=de" \
-w secret -f /etc/openldap/ldif/support.ldif
Auf diese Weise können auch weitere Einträge hinzugefügt werden. Eine etwas komfortablere Variante stellt das X.500 Webgateway, da welches als Frontend beschrieben wird.