O'Reilly Resource Center: System- und Netzwerkadministration
oreilly.deO'Reilly NetworkBücher, Konferenzen, Software, Online Publishing
KontaktBestellinfosOnline-Bücher

Pfeil Suche
Pfeil Bücher A-Z
Pfeil Neuerscheinungen
Pfeil Buchreihen
Pfeil Special Offer
Programmbereiche
Pfeil
Bioinformatik
C/C++ Programmierung
Design & Grafik
Java
Linux
Macintosh
.Net
Open Source
Oracle
Perl
Python
Sicherheit
System- & Netzwerkadministration
Unix
Visual Basic
Web & Internet
Windows
XML
Special Offer
Weitere Infos
Pfeil
Katalog bestellen
Mailinglisten abonnieren
Archiv

Günstige Preise für englische Bücher

Unsere Partner im Buchhandel

Top Fünf Open Source-Pakete für Systemadministratoren
Seiten: 1, 2


LDAP-Verzeichnisstruktur

LDAP-Verzeichnisse sind logische Baumstrukturen, deren Wurzel typischerweise ein Konstrukt bildet, das dem Domain-Namen der Site entspricht. Ausgedrückt wird das in einem Format wie dem folgenden:

dc=ahania,dc=com

Jede Komponente des Domain-Namens wird zu einem Wert für ein dc-Attribut (Domain Component), und alle werden in einer durch Kommata getrennten Liste gesammelt. Diese ist als die Verzeichnisbasis bekannt, sie hat in diesem Fall den Wert ahania.com.

Eine solche Liste von Attribut=Wert-Paaren stellt die Methode dar, mit der Sie auf jede Position (jeden Eintrag) verweisen können. (Leerzeichen zwischen den Elementen sind übrigens nicht von Bedeutung.)

Lassen Sie uns die erste Zeile von Daphnes Verzeichniseintrag noch einmal betrachten:

dn: cn=Daphne Frisch,ou=Pets,dc=ahania,dc=com

Diese Zeile legt den sog. Distinguished Name (dn) des Eintrags fest. Dieses Attribut dient als eindeutiger Schlüssel innerhalb der Datenbank des Verzeichnisses. Es besteht aus einer Liste von durch Kommata getrennten Attribut/Wert-Paaren. In diesem Fall handelt es sich um einen Eintrag für den Namen "Daphne Frisch", die Organisationseinheit (Organisation Unit) "Pets" im Verzeichnis ahania.com.

Die erste Komponente von dn wird als Relative Distinguished Name (rdn) bezeichnet. In unserem Beispiel ist das cn=Daphne Frisch. Sie entspricht der Position innerhalb des ou=Pets,dc=ahania,dc=com-Subbaums, in dem dieser Eintrag liegt. Ein rdn muß innerhalb seines Subbaums eindeutig sein, ebenso wie dn eindeutig innerhalb des gesamten Verzeichnisses sein muß.

Hier eine einfache Darstellung des Verzeichnisbaums, bei dem aufeinanderfolgende (tieferliegende) Level durch Einrückung dargestellt sind:

dc=ahania,dc=com
    ou=Humans,dc=ahania,dc=com
        cn=Jerry Carter,ou=MyList,dc=ahania,dc=com
        cn=Rachel Chavez,ou=MyList,dc=ahania,dc=com
        more people ...
    ou=Pets,dc=ahania,dc=com
        cn=Daphne Frisch,ou=Pets,dc=ahania,dc=com
        cn=Lyta Frisch,ou=Pets,dc=ahania,dc=com
        cn=Susan Frisch,ou=Pets,dc=ahania,dc=com
        cn=Talia Frisch,ou=Pets,dc=ahania,dc=com

Das Verzeichnis ist in zwei Organisationseinheiten untergliedert, von denen jede eine Reihe von Einträgen besitzt.

LDAP für Benutzer-Accounts nutzen

Wenn Sie LDAP für Benutzer-Accounts und zur Benutzer-Authentifizierung nutzen wollen, müssen Sie folgendes tun:

  • Benutzer-Accounts und die dazugehörigen Konfigurationsinformationen in das Verzeichnisdienst-Schema einbinden.
  • Die aktuellen Benutzer-Account-Daten aus den Standarddateien (oder aus NIS) migrieren.
  • Die PAM-Benutzer-Authentifizierung so konfigurieren, daß das LDAP-Verzeichnis konsultiert wird.

Objektklassen für Benutzer-Accounts

Für den ersten Punkt können Sie Standardobjekte nutzen, die für diesen Zweck bereits definiert wurden. Dies sind die Objektklassen, die Sie für Benutzer-Account-Verzeichniseinträge verwenden können:

Objektklasse Hauptzweck OpenLDAP-Schema-Datei
posixAccount Unix-Benutzer-Account-Daten nis.schema
shadowAccount Unix-Paßwort-/Alterungsdaten nis.schema
account Attribute für Organisationseinheiten und Hosts cosine.schema
person elementare Personendaten core.schema
organizationalPerson Adress- und Telefondaten core.schema
inetOrgPerson mitarbeiterbezogene Daten inetorgperson.schema
ipHost and device Host-basierte Login-Zugriffskontrolle nis.schema
groupOfUniqueNames Host-basierte Login-Zugriffskontrolle core.schema

Die Objektklassen in den orangefarbenen Zeilen werden von nahezu allen Sites benutzt. Ein oder mehrere der Objektklassen in den gelben Zeilen können, je nach lokalen Gegebenheiten, ebenfalls für Benutzer-Account-Einträge verwendet werden. Die Klassen in den pinkfarbenen Zeilen werden verwendet, wenn eine hostbasierte Login-Zugriffskontrolle gewünscht wird, d.h., wenn Sie festlegen wollen, welche Benutzer sich auf den jeweiligen Hosts anmelden dürfen.

Migration vorhandener Account-Daten

Die Migration existierender Benutzer-Account-Daten in ein LDAP-Verzeichnis ist sehr einfach, wenn man die Open Source-Migrationstools von PADL Software nutzt. Hierbei handelt es sich um eine Reihe von Perl-Skripten, die die benötigten Daten aus den eigentlichen Dateien extrahieren und die entsprechenden Verzeichniseinträge erzeugen. Die Skripten können so konfiguriert werden, daß sie die entsprechenden Einträge automatisch in das LDAP-Verzeichnis eintragen. Alternativ können Textdateien im LDIF-Format erzeugt werden, die Sie untersuchen, eventuell modifizieren und schließlich manuell importieren können.

Konfiguration der Benutzer-Authentifizierung

Die Verwendung von Verzeichniseinträgen als Quelle für Benutzer-Authentifizierungsdaten verlangt zwei zusätzliche von PADL Software entwickelte Open Source-Module: nss_ldap und pam_ldap.

Das nss_ldap-Modul stellt eine Schnittstelle zur Standard-Nameservice-Switch-Datei /etc/nsswitch her. Das Modul erlaubt es, LDAP als Option in Einträgen dieser Datei anzugeben. Zum Beispiel teilen die beiden folgenden nsswitch-Einträge dem Betriebssystem mit, Benutzer-Account-Informationen zuerst in der normalen Konfigurationsdatei zu suchen und dann den OpenLDAP-Server zu nutzen:

passwd: files ldap
shadow: files ldap

Das ldap-Schlüsselwort wird verwendet, um auf den OpenLDAP-Server zu verweisen. Der Name der Organisationseinheit, die die Benutzer-Accounts enthält, wird in der Konfigurationsdatei des LDAP-Servers festgelegt.

Das pam_ldap-Modul wird von der PAM-Einrichtung verwendet, um LDAP als Quelle von Benutzer-Authentifizierungs- und anderen Benutzer-Account-Daten zu nutzen. Es kann auf die übliche Weise in einem PAM-Stack plaziert werden:

auth      required    /lib/security/pam_securetty.so
auth      required    /lib/security/pam_nologin.so
auth      sufficient  /lib/security/pam_ldap.so
auth      required    /lib/security/pam_unix.so
account   sufficient  /lib/security/pam_ldap.so
account   required    /lib/security/pam_unix.so
password  sufficient  /lib/security/pam_ldap.so
password  required    /lib/security/pam_unix.so  strict=false
session   required    /lib/security/pam_unix.so  debug 

Im allgemeinen wird das pam_ldap-Modul im Stack einfach über dem normalen Authentifizierungsmodul (hier pam_unix) eingefügt. Dieses Modul erlaubt es Ihnen auch, einen Benutzer auf eine festgelegte Liste von Hosts zu beschränken und/oder den Zugriff auf einen bestimmten Host auf eine festgelegte Liste von Benutzern einzuschränken.

Weitere LDAP-Features

Beim dem zur Verfügung stehenden Platz konnten wir die Fähigkeiten von LDAP nur oberflächlich zeigen. Hier die wichtigsten anderen Features:

  • komplexe Abfragefähigkeiten, einschließlich grafischer Open Source-Tools (z.B. GQ)

  • eine sehr feinkörnige Dateizugriffskontrolle (bis hinunter auf einzelne Attribute)

  • sichere Authentifizierung zum LDAP-Server

Weitere Informationen über LDAP und OpenLDAP finden Sie hier:

Æleen Frisch war über 20 Jahre als Systemadministrator tätig und hat dabei eine Fülle von VMS-, Unix- und Windows-Systemen verwaltet. Wenn Ihnen dieser Artikel gefallen hat und Sie einen kostenlosen ESA3-Newsletter erhalten wollen, können Sie sich unter www.aeleen.com/esa3_news.htm anmelden.

Sehen diese Seiten zu fade bzw. langweilig aus? Wenn ja, dann liegt das daran, daß unsere Seiten CSS verwenden! Entweder Ihr Browser unterstützt CSS nicht oder Sie haben CSS deaktiviert.
Netscape 4.x-Benutzer: Deaktivierung von JavaScript bewirkt leider, daß auch CSS deaktiviert ist!


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen
Kontakt | Über O'Reilly | Datenschutz

© 2002, O'Reilly Verlag
webmaster@oreilly.de