Entwicklungsumgebung/LDAP: Unterschied zwischen den Versionen
(Konfigurationsdateien für LDAP) |
(erste Konfiguration des LDAP) |
||
Zeile 198: | Zeile 198: | ||
== Die erste Konfiguration des LDAP == | == Die erste Konfiguration des LDAP == | ||
Neben den Fragen, die in diesem Kapitel schon beantwortet und somit in die Konfigurationsdateien eingeflossen sind, werden nun noch weitere Grundeinstellungen vorgenommen. Dafür bearbeiten wir die Datei <code>/etc/ldap/slapd.conf</code> im Abschnitt "Schema and objectClass" und fügen dort weitere Zeilen ein: | |||
<pre> | |||
# Schema and objectClass definitions | |||
include /etc/ldap/schema/corba.schema | |||
include /etc/ldap/schema/core.schema | |||
include /etc/ldap/schema/cosine.schema | |||
include /etc/ldap/schema/nis.schema | |||
include /etc/ldap/schema/inetorgperson.schema | |||
include /etc/ldap/schema/openldap.schema | |||
</pre> | |||
'''Hinweis:''' Fügen Sie nicht das in einigen Quellen im Internet empfohlene Schema "misc.schema" ein. | |||
Und weiter bearbeiten wir die gleiche Datei <code>/etc/ldap/slapd.conf</code> im Abschnitt "Indexing options" und fügen dort auch weitere Zeilen ein: | |||
<pre> | |||
# Indexing options for database | |||
index objectClass eq | |||
index cn pres,sub,eq | |||
index sn pres,sub,eq | |||
index uid pres,sub,eq | |||
index displayName pres,sub,eq | |||
index default sub | |||
index uidNumber eq | |||
index gidNumber eq | |||
index mail,givenName eq,subinitial | |||
index dc eq | |||
</pre> | |||
Nachdem diese neuen Indices eingetragen sind, muss natürlich auch die Datenbank des LDAP neu aufgebaut werden. Mit den folgenden vier Befehlen passiert genau das: | |||
<pre> | |||
/etc/init.d/slapd stop | |||
slapindex | |||
chown -R openldap:openldap /var/lib/ldap | |||
/etc/init.d/slapd start | |||
</pre> | |||
'''Erklärung:''' Da der Index mittels <code>slapindex</code> als Benutzer "root" neu erzeugt wird, müssen anschließend mit dem chown-Befehl die Eigentumsverhältnisse wieder richtig gestellt werden. | |||
'''Hinweis:''' Falls bei der Installation oder Konfiguration etwas schief gegangen ist, setzen Sie einfach den "LOG-Level" in der Datei "slapd.conf" auf 261 und beobachten die Fehlermeldungen in <code>/var/log/messages</code>. | |||
Version vom 31. Januar 2009, 21:41 Uhr
Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben). |
Warum LDAP?
Viele Serverdienste können einen LDAP-Server zur Authentifizierung ihrer Benutzer verwenden, so z.B. PAM, ftp, Mail, Apache, Squid, SAMBA und viele andere. So wird die Voraussetzung für die Realisierung von "single sign on" geschaffen, der einmaligen netzweiten Anmeldung zur Nutzung unterschiedlichster Dienste.
Da LDAP in die Verzeichnisdienste NDS der Firma Novell und ADS der Firma MicroSoft integriert ist, können Benutzerinformationen für heterogene Netze zentral verwaltet werden.
Open-LDAP
Die OpenLDAP-Software ist eine open source Implementation des Lightweight Directory Access Protocol.
Sie enthält:
- slapd - den stand-alone LDAP daemon (Server)
- libraries - die Bibliotheken für das LDAP Protokoll,
- utilities, tools, und Beispiel-Clients.
Installation des LDAP-Servers
Wir benötigen zuerst Tools für die Manipulation der LDAP-Datenbank. Weiter ermöglichen die Systemutilities, das andere Dienste des delixs-Servers (DNS, DHCP, SAMBA...) ihre Daten aus dem LDAP direkt beziehen können.
Fangen wir also an zu installieren:
aptitude install slapd
Zuerst der OpenLDAP (Lightweight Directory Access Protocol)-Server "slapd" selbst.
Dieses Administratorpasswort hat nichts mit dem "root"-Passwort des Betriebssystems zu tun und sollte möglichst auch nicht gleich lauten. Geben Sie jetzt ein Passwort ein und notieren Sie dies an sicherer Stelle. Nach der Bestätigung geht die Installation weiter.
Der LDAP Baum
Die Definitionen für LDAP liegen unter /etc/ldap
. Zuerst wird die Datei "ldap.conf" angepasst:
cd /etc/ldap mcedit ldap.conf
Die vollständige Liste aller möglichen Optionen erhalten Sie mit
man ldap.conf
Tragen Sie nun die folgenden Daten ein.
In den meisten Zeilen muss nur das Kommentarzeichen am Anfang entfernt werden. Der wichtigste Eintrag ist
BASE dc=delixs-schule,dc=de
Dies entspricht der DNS-Domain "delixs-schule.de".
Das ist auch die Wurzel des LDAP-Baumes und der Suffix-Eintrag der 1. Datenbank. Seit Erscheinen von OpenLDAP v2.3 ist HDB (Hierarchical Data Base) der voreingestellte Datenbanktyp. HDB hat gegenüber BDB (Berkeley Data Base) den Vorteil, das es von Haus aus Daten in einer hierarchischen Struktur (Baumstruktur) speichert.
Der Suffix Eintrag der Datenbank ist gleichzeitig der namingContext der DB.
Installation der benötigten LDAP-Tools
Schritt 1
Das Paket "ldap-utils" enthält die OpenLDAP Kommandozeilenprogramme, um den LDAP-Server administrieren zu können. NSS und PAM sind die primären Systemutilities.
Installieren Sie nun mit folgenden Befehlen:
aptitude install ldap-utils libsasl2-modules
Der erste Befehl sollte ohne Nachfragen in einigen Minuten ablaufen.
Schritt 2
Beim zweiten Befehl sind einige Nachfragen zu beantworten.
aptitude install libnss-ldap
Hinweis: Seit 2008 gibt es für libnss-ldap einen Daemon als Ersatz. Der Daemon ist im Paket libnss-ldapd enthalten. Er soll helfen, Probleme beim Booten des Rechners zu vermeiden. Wir setzen trotzdem libnss-ldap ein und werden die Probleme durch geeignete Konfiguration umschiffen.
Hier geben Sie einfach die IP-Nummer (hier ldap://10.100.0.1) ihres Servers ein, eine Portnummer brauchen Sie nicht anhängen.
Jetzt wird die DN (distinguished name) der Suchbasis erfragt. Geben Sie hier die gleichen Daten wie oben in der Datei "ldap.conf" ein.
Bei der Frage nach der LDAP-Version lassen Sie die eingestellte Versionsnummer 3 und drücken Enter.
Als berechtigter Nutzer wird nichts eingetragen, weil libnss-ldap keinen root Zugang haben soll. Somit werden bei NSS Anfragen später die shadow Daten (Passwörter) nicht übers Netz transferiert.
Geben Sie hier kein Passwort ein und drücken einfach Enter.
Den abschließenden Hinweis sollten Sie genau lesen und bei eventuellen späteren Veränderungen unbedingt beachten.
Schritt 3
Nun folgt der dritte Installationsschritt der benötigten LDAP-Tools:
aptitude install libpam-ldap
Auch hier müssen Sie Fragen zur Installation beantworten
Beantworten Sie die Frage mit "Ja", denn der lokale Nutzer "root" darf Datenbank-Administrator sein.
Beantworten Sie die zweite Frage mit "Nein", denn die lokale LDAP-Datenbank benötigt keine Anmeldung.
Geben Sie hier wieder die gleichen Daten (cn=admin,dc=delixs-schule,dc=de) wie oben ein.
Geben Sie nun das Passwort für den "root"-Zugang auf die LDAP-Basis ein. Das Passwort haben Sie bereits ganz oben in diesem Kapitel festgelegt.
Kontrolle
Wenn alles richtig installiert ist, können Sie mit folgendem Befehl eine Kontrolle durchführen:
ldapsearch -x -LLL -s base -b "" "objectclass=*" namingContexts
Die Ausgabe am Bildschirm sollte so aussehen:
dn: namingContexts: dc=schule,dc=xx
Konfigurationsdateien für LDAP
Die systemweite LDAP-Konfiguration ist in folgenden Dateien gespeichert:
- /etc/ldap/ldap.conf enthält allgemeine Einstellungen
- /etc/ldap/slapd.conf enthält globale Einstellungen, wie Schemata, Direktiven, Datenbankeinstellungen usw.
Die Konfiguration für libnss-ldap wird in folgenden Dateien gespeichert:
- /etc/libnss-ldap.conf enthält die Einstellungen
- /etc/libnss-ldap.secret enthält das Passwort (hier natürlich nicht, wir haben ja keins eingegeben)
Die Konfiguration für pam_ldap wird in folgenden Dateien gespeichert:
- /etc/pam_ldap.conf enthält die Einstellungen
- /etc/pam_ldap.secret enthält das Passwort
Die erste Konfiguration des LDAP
Neben den Fragen, die in diesem Kapitel schon beantwortet und somit in die Konfigurationsdateien eingeflossen sind, werden nun noch weitere Grundeinstellungen vorgenommen. Dafür bearbeiten wir die Datei /etc/ldap/slapd.conf
im Abschnitt "Schema and objectClass" und fügen dort weitere Zeilen ein:
# Schema and objectClass definitions include /etc/ldap/schema/corba.schema include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/openldap.schema
Hinweis: Fügen Sie nicht das in einigen Quellen im Internet empfohlene Schema "misc.schema" ein.
Und weiter bearbeiten wir die gleiche Datei /etc/ldap/slapd.conf
im Abschnitt "Indexing options" und fügen dort auch weitere Zeilen ein:
# Indexing options for database index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index default sub index uidNumber eq index gidNumber eq index mail,givenName eq,subinitial index dc eq
Nachdem diese neuen Indices eingetragen sind, muss natürlich auch die Datenbank des LDAP neu aufgebaut werden. Mit den folgenden vier Befehlen passiert genau das:
/etc/init.d/slapd stop slapindex chown -R openldap:openldap /var/lib/ldap /etc/init.d/slapd start
Erklärung: Da der Index mittels slapindex
als Benutzer "root" neu erzeugt wird, müssen anschließend mit dem chown-Befehl die Eigentumsverhältnisse wieder richtig gestellt werden.
Hinweis: Falls bei der Installation oder Konfiguration etwas schief gegangen ist, setzen Sie einfach den "LOG-Level" in der Datei "slapd.conf" auf 261 und beobachten die Fehlermeldungen in /var/log/messages
.
SAMBA - LDAP Support
Da zu gegenwärtigen Zeitpunkt SAMBA noch nicht installiert ist, wird die Konfiguration von LDAP später nochmals angefasst werden müssen.
LDAP komplett löschen
Falls die Installation fehlschlägt und die gesamte Prozedur einfach nochmals von vorn begonnen werden soll, kann alles bisher Installierte auf einfache Weise koplett entsorgt werden.
aptitude purge slapd aptitude purge ldap-utils libsasl2-modules aptitude purge libnss-ldap libpam-ldap libpam-smbpass
Damit ist das komplette Löschen der alten LDAP-Installation erfolgt.
Sie können nun das Kapitel von vorn beginnen.
Weblinks
- http://www.openldap.org/
- http://linuxwiki.de/OpenLDAP
- http://de.wikipedia.org/wiki/Ldap
- http://wiki.debian.org/LDAP
- http://www.webmasterpro.de/server/article/ldap.html
- http://dkluenter.gmxhome.de/