LDAP-Server

Aus OpenNewsNetwork

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Das Einrichten eines LDAP-Servers

Eine übersicht über das Themengebiet gibt es in LDAP. Hier geht es um die Einrichtung eines eigenen LDAP-Servers. Momentan ist nur der manuelle Import der Daten vom LDAP-Master vollständig erklärt. Das Aufsetzen eines automatisch replizierten LDAP-Slave ist noch in Arbeit.

Erste Schritte

Zuerst einmal sollte man sich http://www.openldap.org/doc/admin22/ durchlesen. Langsam. Mit Geduld. Und in Demut. Viele Begriffe in der "Administrator's Guide" bleiben undefiniert. Und einige Beispiele weichen auf subtile Weise von der Wirklichkeit ab ...

Etwas veraltet zwar aber dennoch zur Einführung lesenswert ist: http://www.linuxhaven.de/dlhp/HOWTO/DE-LDAP-HOWTO.html

Debian Sarge

Pakete: slapd ldap-utils
Init-Skript: /etc/init.d/slapd
Konfiguration: /etc/ldap/slapd.conf

Die Installation:

 apt-get install slapd ldap-utils 

Die Fragen des Konfigurationsskripts beantwortete ich so:

Enter your DNS domain name: open-news-network.org
Enter the name of your organization: news.albasani.net
Allow LDAPv2 protocol: <No>

"name of your organization" ist ein Attribut und nach RFC2256 definiert. Welche Bedeutung das hat, insbesondere für LDAP-Slaves, ist unklar.

Fedora Core

Pakete: openldap-servers openldap-clients
Init-Skript: /etc/init.d/ldap
Konfiguration: /etc/openldap/slapd.conf

Konfiguration

Der Server wird durch die Datei slapd.conf konfiguriert.

Der Eintrag allow bind_v2 gehört auskommentiert das sollte so aussehen (ist bei Debian bereits der Fall):

#allow bind_v2

Der Eintrag schemacheck fehlt bei Fedora Core:

# Schema check allows for forcing entries to
# match schemas for their objectClasses's
schemacheck     on

Bei Debian wird der erste Eintrag suffix bereits durch den Konfigurationsdialog erstellt, ansonsten gehört das manuell ausgebessert.

suffix          "dc=open-news-network,dc=org"

Läuft der Server?

Nach /etc/init.d/slapd start bzw. /etc/init.d/ldap start sollte man überprüfen, ob der Server rein grundsätzlich läuft:

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

Die Ausgabe sieht so aus:

# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectclass=*)
# requesting: namingContexts 
#

#
dn:
namingContexts: dc=open-news-network,dc=org

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Das Administrator-Passwort

Abweichend von Quick-Start Guide findet sich unter Debian Sarge kein Eintrag rootdn oder rootpw in /etc/ldap/slapd.conf . überprüfen lässt sich das bei der Konfiguration angegebene Administrator-Passwort so:

ldapsearch -x -D "cn=admin,dc=open-news-network,dc=org" -W '(objectclass=*)'

Die Fehlermeldung bei falschem Passwort sieht so aus:

ldap_bind: Invalid credentials (49)

Und wie wollen wir in Zukunft die verschiedenen LDAP-Datenbanken syncron halten?

Wenn das noch stimmt:

11.4.4 Copy the master slapd's database to the slave

Copy the master's database(s) to the slave. For an LDBM-based database, you must copy all index files as well as the "NEXTID" file. Index files will have a different suffix depending on the underlying database package used. The current possibilities are

  • dbb Berkeley DB B-tree backend
  • dbh Berkeley DB hash backend
  • gdbm GNU DBM backend
  • pag UNIX NBDM backend
  • dir UNIX NBDM backend

You should copy all files with such a suffix that are located in the index directory specified in your slapd config file.

http://www.umich.edu/~dirsvcs/ldap/doc/guides/slapd/11.html

Müssten wir innerhalb des OpenNewsNetwork anders vorgehen, damit wir nicht lauter Master-Ldap-Server bekommen, die untereinnander nicht syncronisieren.

Persönliche Werkzeuge