LDAP Server: Unterschied zwischen den Versionen
Uli (Diskussion | Beiträge) |
Uli (Diskussion | Beiträge) |
||
Zeile 132: | Zeile 132: | ||
Nach der Einrichtung wird mit folgendem Befehl der Benutzer angelegt | Nach der Einrichtung wird mit folgendem Befehl der Benutzer angelegt | ||
# cpu useradd [USERNAME] | # cpu useradd [USERNAME] | ||
+ | Mit einem Script script kann die '''/etc/passwd''' ausgelesen werden um die LDAP-User anzulegen. | ||
+ | # cat /etc/passwd | perl -n -a -F: -e 'print $F[0], $/ if $F[2] > 10000 and $F[2] < 20000' | xargs -n 1 cpu useradd | ||
=LDAP-Client Software zur Abfrage des LDAP-Servers= | =LDAP-Client Software zur Abfrage des LDAP-Servers= |
Version vom 28. November 2006, 15:39 Uhr
Inhaltsverzeichnis
Anmerkung
Hier ist die Installation und Grundkonfiguration eines LDAP-Servers dokumentiert. Es sollen sich Benutzer an Linuxbasierte Desktop-Clients anmelden können. Im Verzeichnis werden Daten über Benutzer, Gruppen und deren Atribute bereit gestellt
Version und Voraussetzungen
Linux: Debian Linux Sarge
LDAP: SLAPD 2.2.23 (Stable)
Verwaltung: phpLdapAdmin 0.9.5-3sarge2
Quellen
Doku von OpenLdap.org
Linux LDAP HOWTO
Installation
# apt-get update
Ldap-Server-Programme
# apt-get install slapd libldap-2.2-7 libldap2 ldap-utils ldapdiff nscd
Ldap-Client-Programme
# apt-get install libnss-ldap libpam-ldap ldap-utils nscd
Berkeley v4.2 Database Utilities
# apt-get install db4.2-util libdb4.2 libdb4.3
Verwaltungstool für das LDAP-Verzeichnis
# apt-get install php4-ldap phpldapadmin
Bei der Installation des LDAP-Servers werden verschiedene Fragen getsellt. Sie können aber auch später in den Konfigurationsdateien, die im folgenden beschrieben werden, angepasst werden.
Konfiguration
slapd.conf
Diese Datei ist für die Konfiguration des LDAP-Server zuständig In der Datei /etc/ldap/slapd.conf habe ich zei Änderunegn vorgenommen
Anpassen des Suffix suffix "dc=blb-intranet,dc=de" Anpassen der RootDN rootdn "cn=admin,dc=intranet,dc=de"
Später werden hier noch die SSL-Zertifikate angegeben. Dies aber weiter unten.
lapd.conf
Der LDAP-Server erwartet die Datei unter /etc/ldap/ldap.conf während der LDAP-Client sie unter /etc/ldap.conf erwartet. Mit einem Link kann man sich die Doppelarbeit ersparen.
# la -s /etc/ldap/ldap.conf /etc/ldap.conf
In der ldap.conf habe ich folgende Anpassungen vorgenommen
Root-Verzeichnis des LDAP-Zweiges BASE dc=blb-intranet, dc=de URI des LDAP-Servers und Protokoll (ldap://) URI ldap://fai-sarge.blb-intranet.de Hostname des LDAP-Server HOST fai-sarge.blb-intranet.de
libnss-ldap.conf
Diese Datei wird für den LDAP-Nameservice benötigt Folgende Einstellungen habe ich hier vorgenommen:
Hostname des LDAP-Servers HOST fai-sarge.blb-intranet.de Root-Verzeichnis des LDAP-Servers base dc=blb-intranet,dc=de URI des LDDAP-Serves uri ldap://127.0.0.1/ Version des LDAP-Protokolls ldap_ version 3
pam_ldap.conf
Diese Datei wird für die PAM-Module benötigt, sofern eine Authentifizierung mittels LDAP geschehen soll. Folgende einträge habe ich vorgenommen:
Da die Einträge oben schon öfters erklärt sind, diesmal ohne Kommentar ;-) HOST fai-sarge.blb-intranet.de base dc=blb-intranet,dc=de uri ldap://fai-sarge.blb-intranet.de/ ldap_version 3 rootbinddn cn=admin,dc=blb-intranet,dc=de pam_password crypt
LDAP-Inhalte
Wie kommen die Inhalte in das LDAP-Verzeichnis. Hierfür gibt es mehrere Möglichkeiten.
Dabei kommt es meiner Ansicht nach auf die Menge der Daten an, die angelegt werden sollen.
- Einzelne Einträge
Diese können mit dem ldapadd-Befehl eingefügt werden.
Todo: Beispiel
- Aufbau eine komplexen Strucktur
Um eine komplexe Strucktur anzulegen, bietet sich an, diese in Textdateien zu schreiben. Diese können dann vom LDAP-Server eingelesen werden.
Todo: Beispiel
- phpLDAPadmin
Wenn beide LDAP-Server über den gleiche phpLdapadmin verwaltet werden, können die Daten einfach von einem zum anderen Server kopiert werden
Projekt-Homepage
phpLDAPadmin installieren
Doku von OpenLdap.org
Linux LDAP HOWTO
LDAP-Backup und Recovery
Achtung: Für diese Befehle MUSS der SLAPD angehalten werden
slapcat > sicherung.ldif
Jetz können die SLAPD-Daten gelöscht werden. Per default liegen diese unter
/var/lib/ldap. Hier kann mit rm * alles gelöscht werden.
slapadd < sicherung.ldif
Dieser Befehl liest die LDIF-Daten (Txtfile) ein und schreibt diese in den Ldap-Server zurück.
LDAP-Abfragen
ldapsearch -H ldap://localhost -b dc=linuxhotel,dc=de -D cn=admin,dc=linuxhotel,dc=de -x -W
Vereinfachen kann man die Suchabfragen, in dem man entweder in seinem Home Directory ein Datei
mit dem Namen .ldaprc anlegt, oder die /etc/ldap/ldap.conf editier.
Folgende Einträge müssen eingetragen werden:
BASE dc=linuxhotel,dc=de BINDDN cn=admin,dc=linuxhotel,dc=de HOST localhost
Danach kann die Suchabfrage auf folgendes reduziert werden:
ldapsearch -x -W
LDAP Benutzer und Gruppen anlegen
Gruppe
ldapadd -x -W <<LDIF > dn: ou=people,$DOMAIN > objectClass: top > objectClass: organizationalUnit > ou: people > > dn: ou=groups,$DOMAIN > objectclass: top > objectclass: organizationalUnit > ou: groups > LDIF
Benutzer
LDAP-Benutzer können sehr einfach mit dem Tool CPU angelegt werden. Zu beachten ist, dass dabei das Passwort leer bleibt und noch geändert werden.
# aptitude install cpu
Nach der Einrichtung wird mit folgendem Befehl der Benutzer angelegt
# cpu useradd [USERNAME]
Mit einem Script script kann die /etc/passwd ausgelesen werden um die LDAP-User anzulegen.
# cat /etc/passwd | perl -n -a -F: -e 'print $F[0], $/ if $F[2] > 10000 and $F[2] < 20000' | xargs -n 1 cpu useradd
LDAP-Client Software zur Abfrage des LDAP-Servers
- gq
GT basiertes Tool - luma
- phpldapadmin
Webbasiertes Frontend zur verwaltung der LDAP-Einträge