Entwicklungsumgebung/LDAP: Unterschied zwischen den Versionen

Aus Delixs
Zur Navigation springen Zur Suche springen
(ZumTest)
(namingContexts)
Zeile 176: Zeile 176:


   dn:
   dn:
   namingContexts: dc=schule,dc=xx
   namingContexts: dc=delixs-schule,dc=xx





Version vom 7. Mai 2009, 20:32 Uhr

ZumTest Nach Meinung des Autors ist diese Seite fertig. Es wäre schön, wenn ausgiebige Tests durch viele Nutzer eventuell noch vorhandene Fehler beseitigen helfen.

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.


Administrator Passwort
Abbildung: Administrator Passwort


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.


ldap.conf
Abbildung: ldap.conf


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.


Libnssldap01
Abbildung: URI libnss-ldap


Hier geben Sie einfach die IP-Nummer (hier ldap://10.100.0.1) ihres Servers ein, eine Portnummer brauchen Sie nicht anhängen.


Libnssldap02
Abbildung: DN libnss-ldap


Jetzt wird die DN (distinguished name) der Suchbasis erfragt. Geben Sie hier die gleichen Daten wie oben in der Datei "ldap.conf" ein.


Libnssldap03
Abbildung: Version libnss-ldap


Bei der Frage nach der LDAP-Version lassen Sie die eingestellte Versionsnummer 3 und drücken Enter.


Libnssldap04
Abbildung: Benutzerkonto libnss-ldap


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.


Libnssldap05
Abbildung: Passwort libnss-ldap


Geben Sie hier kein Passwort ein und drücken einfach Enter.


Libnssldap06
Abbildung: Hinweis libnss-ldap

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


Libpamldap01
Abbildung: root libpam-ldap


Beantworten Sie die Frage mit "Ja", denn der lokale Nutzer "root" darf Datenbank-Administrator sein.


Libpamldap02
Abbildung: Anmeldung libpam-ldap


Beantworten Sie die zweite Frage mit "Nein", denn die lokale LDAP-Datenbank benötigt keine Anmeldung.


Libpamldap03
Abbildung: root-Zugang libpam-ldap


Geben Sie hier wieder die gleichen Daten (cn=admin,dc=delixs-schule,dc=de) wie oben ein.


Libpamldap04
Abbildung: root-Zugang libpam-ldap


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=delixs-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., aber kein Passwort

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

Admin-Passwort

Die Dateien, die das admin-Passwort enthalten, dürfen ausschließlich root gehören und müssen die Dateirechte 600 (rw - -) haben:

  • /var/lib/samba/secrets.tdb
  • /etc/smbldap-tools/smbldap_bind.conf
  • /etc/pam_ldap.secret

In die nss-Konfiguration (libnss-ldap.secret) und in die slapd.conf gehört kein 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 "loglevel" in der Datei "slapd.conf" auf 261 (=256+4+1) und beobachten die Fehlermeldungen in /var/log/messages. Läuft alles zufriedenstellend, dann setzen Sie unbedingt den loglevel wieder auf "none" zurück.


SAMBA - LDAP Support

Da zu gegenwärtigen Zeitpunkt der File-Server SAMBA noch nicht installiert ist, wird die Konfiguration von LDAP später nochmals angefasst und bearbeitet werden müssen. Das wird dann im Kapitel Entwicklungsumgebung/LDAP_User passieren.


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 komplett 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



zurück | Hauptseite