Einrichtung von OpenLDAP
Anzeige Hier werben
In diesem Artikel wird die grundsätzliche Einrichtung eines simplen LDAP Servers beschrieben. Die Sicherung von OpenLDAP Servern wird im Artikel "Sichern eines OpenLDAP Servers" behandelt. Grundlagen Informationen zum Lightweight Directory Access Protocol finden sie in unserem Hauptartikel zu LDAP.
Konfiguration
Um die Arbeit mit einem OpenLDAP Server zu vereinfachen, empfiehlt es sich die Datei /etc/openldap/ldap.conf anzupassen. Hier können Basisangaben gespeichert werden, die später Tipparbeit ersparen.
Alternativ können Sie auch eine Date ldaprc bzw. .ldaprc in Ihrem Home-Verzeichnis anlegen.
Beispiel "ldap.conf"
1
2
3
4
5
6 | BASE dc=webmasterpro, dc=de # Basis DN. Hier als Beispiel webmasterpro.de
URI ldap://localhost # Die URI des Servers
SIZELIMIT 12 # Maximale Ergebnisgröße bei Suchoperationen. "0" erlaubt eine unbegrenzte Größe
TIMELIMIT 15 # Zeitlimit für Suchoperationen. "0" bedeutet kein Zeitlimit.
DEREF never # Gibt an wie Alias-Verweise gehandhabt werden sollen.
|
Eine Vollständige Liste der in ldap.conf verfügbaren Parameter finden sie in der OpenLDAP Man Page (englisch)
Server Konfiguration
Alle Server spezifischen Einstellungen werden in der Datei slapd.conf getroffen. Diese befindet sich ebenfalls im Verzeichnis /etc/openldap/.
Beispiel "slapd.conf"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Liste der zu verwendenden Schemata
include /etc/openldap/schema/core.schema
# Datei für die Prozess ID
pidfile /var/run/slapd.pid
# Laufzeitargumente für den LDAP Server
argsfile /var/run/slapd.args
# Datenbanktyp
# Möglich sind z.B. die Berkley DB ("bdb"), ldif oder sql)
database bdb
# Primäres Suffix
suffix "dc=webmasterpro,dc=de"
# Die Administratorenkennung
rootdn "cn=admin,dc=webmasterpro,dc=de"
# Das Passwort für den Administrator. Hier empfiehlt es sich via "slappasswd" ein
# verschlüsseltes Passwort zu erstellen.
# Beispiel: slappasswd -s test
rootpw {SSHA}wsklMKYs/UOc9SDf3XKqysUqhX4+kOVF
# Der Pfad für alle LDAP Daten. Hier sollten die Zugriffsrechte "700" gesetzt sein.
directory /sw/var/openldap-data
# Welche Daten sollen für schnelleren Zugriff indiziert werden? Fürs erste Tests reichen
# hier sehr rudimentäre Angaben. Genaue Informationen zu OpenLDAP's Indizierungsmöglichkeiten
# sind in der Manpage von slapindex zu finden.
index objectClass eq
# Für weiter unten angegebene Schemata
# index cn,sn,mail
|
Erste Tests
Nun da die Grundkonfiguration des Servers abgeschlossen ist, können erste Tests durchgeführt werden. Hierzu muss der Server über den Befehl slapd oder ein Init Script (z.B: /etc/init.d/openldap start) gestartet werden.
Der Aufruf des Befehls ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts sollte nun erfolgreich eine Suche auf unserem neu eingerichteten Server durchführen. Die Ausgabe könnte in etwa so aus sehen:
dn:
namingContexts: dc=webmasterpro,dc=de
Läuft der Server kann mit der Arbeit an der gewünschten Datenstruktur und dem einpflegen der eigentlichen Datensätze begonnen werden.
Schema Erweiterung
Um eine Unternehmensstruktur allerdings sauber abbilden zu können, muss die Liste der von OpenLDAP verwendeten Schemata erweitert werden, da "core.schema" nur das Nötigste bietet.
- inetOrgPerson - Dieses Schema enthält zusätzliche Kontaktdaten (z.B. Vorname, E-Mailadresse). Diese werden unter anderem von Adressbüchern wie Apples "Adressbuch" oder Mozillas Thunderbird unterstützt..
- NIS - Schema für den "Network Information Service". Dieses dient als Basis für die Zuteilung von Benutzernamen, Konfigurationsdateien und Rechnernamen.
Um diese beiden Schemata zu verwenden fügen Sie folgende Zeilen in die Datei slapd.conf ein.
1 2 3 | include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
|
Nach der Erweiterung der Konfiguration muss der Server neu gestartet werden.
Hinweis: Das Verzeichnis schema enhält noch weitere Schemata die Sie verwenden können. Es empfiehlt sich hier die einzelnen Schema näher anzusehen wenn sie noch weitere Informationen hinterlegen möchten. Das erweitern der Schemata ist natürlich ebenfalls möglich.
Erster Import
OpenLDAP unterstützt den Import von Daten über das LDAP Data Interchange Format (LDIF). Jeder neue Datensatz beginnt in diesem Format mit dem distinguished name (dn), also dem Absoluten Pfad innerhalb des LDAP Baumes. Im Anschluss daran können beliebige - im Schema vorhandene - Attribute und Werte importieret werden. Generell gilt bei LDIF Dateien die Schreibweise "attribut:wert" (Beispiel: dc=Webmasterpro,dc=de).
Ein neues Objekt wird durch eine Leerzeile begonnen.
Beispiel LDIF Datei
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | dn: dc=Webmasterpro,dc=de
objectclass: dcObject
objectclass: organization
o: Webmasterpro.de
dc: Webmasterpro
dn: ou=Administratoren,dc=webmasterpro,dc=de
objectclass: organizationalUnit
ou: Administratoren
dn: cn=David Danier,ou=Administratoren,dc=webmasterpro,dc=de
cn: David Danier
cn: Goliath
objectClass: person
objectClass: uidObject
objectClass: inetOrgPerson
mail: goliath@webmasterpro.de
givenName: David
uid: ddanier
title: Herr
sn: Danier
dn: ou=Zusätzliche Administratoren,dc=webmasterpro,dc=de
objectclass: organizationalUnit
ou: Zusätzliche Administratoren
dn: cn=Christopher Korn,ou=Zusätzliche Administratoren,dc=webmasterpro,dc=de
cn: Christopher Korn
cn: chkorn
cn: Chris
objectClass: person
objectClass: uidObject
objectClass: inetOrgPerson
mail: chkorn@webmasterpro.de
givenName:Christopher
title: Herr
uid:chkorn
sn: Korn
homePhone: 089 987 654 321
mobile: 0177 123 456 789
dn: ou=Moderatoren,dc=webmasterpro,dc=de
objectclass: organizationalUnit
ou: Moderatoren
dn: ou=Benutzer,dc=webmasterpro,dc=de
objectclass: organizationalUnit
ou: Benutzer
|
Die von Ihnen angelegten LDIF Dateien können sie über den Befehl ldapadd -x -D "cn=admin,dc=webmasterpro,dc=de" -W -f import.ldif in Ihren Verzeichnisserver importieren.
Nach einem erfolgreichen Import können sie das Ergebnis erneut mittels ldapsearch überprüfen, oder andere Werkzeuge verwenden.
Adressbuch
Der neu installierte LDAP Server kann zum Beispiel auch als Adressbuch verwendet werden, sofern das Schema inetOrgPerson für alle Benutzer-Objekte verwendet wird.
Um dies in Clients wie Mozilla Thunderbird oder Apple's Adressbuch zu ermöglichen ist es notwendig den gewünschten Such-Pfad als DN (z.B. dc=webmasterpro,dc=de), den LDAP Server (z.B. localhost) und den Server Port (z.B. 389) anzugeben.
Je nach Server Konfiguration ist es überdies noch notwendig, einen Benutzernamen im DN (z.B. cn=admin,dc=webmasterpro,dc=de) und ein Passwort zu anzugeben.



