LDAP

Aus ConfigWiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Schema-Dateien)
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: 'LDAP - allgemeine Infos zum LDAP-Protokoll')
 
Zeile 1: Zeile 1:
allg. Info zum LDAP-Protokoll
+
[[LDAP - allgemeine Infos zum LDAP-Protokoll]]
 
+
==LDAP-Server==
+
OpenLDAP unter Linux besteht aus dem Server slapd und den Client-Utilities (unter Debian im Paket ldap-utils).
+
Der LDAP-Server benötigt für die Verwaltung der Einträge verschiedene Attribute die in Objektklassen zusammengefaßt werden. Diese werden in Schema-Dateien definiert, die global für alle Datenbanken gelten. Da Attribute in verschiedenen Klassen verwendet, aber nur einmal definiert werden können, ist auf die Reihenfolge zu achten, in der die Dateien eingebunden werden. Gelegentlich verursachen gleichnamige Attribute in verschiedenen Dateien für Konflikte, sodaß diese nicht ohne Anpassung gemeinsam verwendet werden können.
+
 
+
Zur einfachen Verwaltung der LDAP-Datenbanken ist der phpldapadmin zu empfehlen.
+
 
+
Für die Integration der Linux-Benutzerverwaltung in LDAP wird nss-ldap für die Informations-Beschaffung und pam-ldap für die Authentifikation benötigt. Weiterhin sind die Pakete ldapscripts für die Benutzerverwaltung und die migrationtools für die Übertragung der vorhandenen Informationen ins LDAP-Verzeichnis notwendig.
+
 
+
===Konfiguration slapd===
+
 
+
====olcConfig unter Debian Squeeze====
+
 
+
Bei einem Update von Lenny auf Squeeze wird eine statische Konfiguration auf olc umgestellt. Ebenso wie bei einer Neuinstallation unter SQueeze wird dabei aber kein RootPW vergeben. Dadurch ist es unmöglich, in der Onlinekonfiguration Änderungen (z.B. mit dem ldapvi) vorzunehmen.
+
 
+
Am schnellsten läßt sich das wie folgt erledigen:
+
~# echo "olcRootPW: `slappasswd -s PASSWORT`" >> /etc/ldap/slapd.d/cn=config/{0}config.ldif
+
 
+
Danach muß der slapd neu gestartet werden (nslcd ggf. vorher beenden):
+
~# invoke-rc.d nslcd stop && invoke-rc.d slapd restart && invoke-rc.d nslcd start
+
 
+
===Schema-Dateien===
+
 
+
Schemadateien liegen in den meisten Fällen leider nur in der statischen Variante vor. Für den Import müssen sie daher noch konvertiert werden. In '''schema-convert.conf''' werden die zu konvertierenden Dateien wie in einer statischen slapd.conf als include angegeben. '''ldapconvert.sh''' wandelt diese entsprechend um, damit sie zum Schluß mit '''ldapadd''' hinzugefügt werden können.
+
 
+
schema-convert.conf:
+
include    /etc/ldap/schema/dhcp.schema
+
include    /etc/ldap/schema/samba.schema
+
 
+
ldapconvert.sh:
+
#!/bin/bash
+
ldifschema=/etc/ldap/schema.convert
+
ldif=ldif
+
ldifpath=/etc/ldap/ldif
+
etc=/etc/ldap/schema
+
cn=cn\=config/cn\=schema
+
+
mkdir -p $schema
+
mkdir -p $ldifpath
+
+
/usr/sbin/slapcat -f schema_convert.conf -F $ldifpath -n0 || exit
+
cd $ldifpath/$cn
+
mkdir $ldif
+
mkdir 1
+
for file in *.ldif; do
+
  sed -n -e :a -e '1,7!{P;N;D;};N;ba' $file | sed -e '1s/{.*}//;1s/$/,cn=schema,cn=config/;3s/{.*}/cn=/' > $ldif/$file
+
  neu=`echo $file | sed -e 's/^.*}//g'`
+
  mv $ldif/$file $ldifschema/$neu
+
done
+
 
+
zum laufenden LDAP-Server hinzufügen:
+
~# ldapadd -xWD cn=admin,cn=config -f dhcp.ldif
+

Aktuelle Version vom 22. Dezember 2011, 13:23 Uhr

LDAP - allgemeine Infos zum LDAP-Protokoll

Meine Werkzeuge