Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
fortgeschrittene:ldap [2011/03/15 11:36] 127.0.0.1 Externe Bearbeitung |
fortgeschrittene:ldap [2025/08/15 08:15] (aktuell) ingo_wichmann |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== OpenLDAP Server ====== | ====== OpenLDAP Server ====== | ||
===== Benötigte Pakete ===== | ===== Benötigte Pakete ===== | ||
- | Debian: | + | * Debian: ''slapd ldap-utils'' |
- | slapd | + | |
- | SuSE: | + | |
- | openldap2 | + | |
- | Fedora: | + | |
- | openldap-servers | + | |
- | + | ++++ Initiale Konfiguration anpassen | | |
- | + | ===== Initiale Konfiguration ===== | |
- | ===== Minimal-Konfiguration ===== | + | ==== Debian ==== |
Bei Debian wird das Paket mit folgenden Werten vorkonfiguriert ((Die Werte kann man natürlich auch interaktiv beim ''apt-get install'' eingeben)): | Bei Debian wird das Paket mit folgenden Werten vorkonfiguriert ((Die Werte kann man natürlich auch interaktiv beim ''apt-get install'' eingeben)): | ||
<code bash> | <code bash> | ||
Zeile 29: | Zeile 24: | ||
<code bash>DEBCONF</code> | <code bash>DEBCONF</code> | ||
- | Die wichtigsten Einstellungen für slapd: | + | ===== erste LDAP Einträge ===== |
- | + | Man kann das Administrator-Passwort mit dem Befehl ''slapadd'' hinzufügen, das mit dem Befehl ''slappasswd'' erzeugt wird: | |
- | ''/etc/ldap/slapd.conf'' (Debian) | + | |
- | + | ||
- | ''/etc/openldap/slapd.conf'' (SuSE, Fedora) | + | |
- | <file> | + | |
- | include /etc/openldap/schema/core.schema | + | |
- | include /etc/openldap/schema/cosine.schema | + | |
- | include /etc/openldap/schema/inetorgperson.schema | + | |
- | include /etc/openldap/schema/nis.schema | + | |
- | </file> | + | |
- | backend xxx | + | |
- | + | ||
- | database xxx | + | |
- | <file> | + | |
- | suffix "dc=linuxhotel,dc=de" | + | |
- | + | ||
- | access to attrs=userPassword | + | |
- | by dn="cn=admin,dc=linuxhotel,dc=de" write | + | |
- | by anonymous auth | + | |
- | by self write | + | |
- | by * none | + | |
- | + | ||
- | access to * | + | |
- | by dn="cn=admin,dc=linuxhotel,dc=de" write | + | |
- | by self read | + | |
- | by * read | + | |
- | </file> | + | |
- | + | ||
- | centos 5 : | + | |
- | cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG | + | |
- | + | ||
- | Unter Debian werden bereits bei der Installation die ersten Werte, wie z.B. der Administrator-Benutzer in das Verzeichnis eingefügt. Unter SuSE und Fedora kann man das mit dem Befehl ''slapadd'' tun, das Administrator-Passwort wird mit dem Befehl ''slappasswd'' erzeugt: | + | |
<code bash> | <code bash> | ||
DOMAIN="dc=linuxhotel,dc=de" | DOMAIN="dc=linuxhotel,dc=de" | ||
DC=${DOMAIN%%,*} | DC=${DOMAIN%%,*} | ||
- | PASSWORD=`slappasswd -s villa` | + | PASSWORD=$(slappasswd -s villa) |
slapadd <<LDIF | slapadd <<LDIF | ||
</code> | </code> | ||
Zeile 87: | Zeile 51: | ||
<code>LDIF</code> | <code>LDIF</code> | ||
- | SuSE, Centos, Fedora: | + | ++++ |
- | /etc/init.d/ldap restart | + | |
- | chkconfig ldap on | + | |
- | ===== Testen ===== | + | ===== root-Zugriff auf LDAP-Server über Socket ===== |
- | ==== Configdatei prüfen ==== | + | |
- | slapd -t | + | <file txt ~/.ldaprc> |
- | slaptest | + | URI ldapi:/// |
+ | BASE cn=config | ||
+ | SASL_MECH EXTERNAL | ||
+ | </file> | ||
+ | ldapsearch -LLL '(olcSuffix=*)' olcSuffix | ||
+ | |||
+ | Mehr dazu unter [[ldap-config]] | ||
==== Fehler beim Starten finden ==== | ==== Fehler beim Starten finden ==== | ||
- | (unter SuSE /usr/lib/openldap/slapd) | ||
slapd -d -1 | slapd -d -1 | ||
- | ====== Client ldapsearch ====== | + | ====== Tips & Tricks ====== |
- | ===== Benötigte Pakete ===== | + | |
- | Debian: | + | |
- | ldap-utils | + | |
- | SuSE: | + | |
- | openldap2-client | + | |
- | Fedora: | + | |
- | openldap-clients | + | |
+ | ===== LDAP Daten sichern und wieder herstellen ===== | ||
- | ===== Testen ===== | + | service slapd stop |
- | Der OpenLDAP Server sollte nun z.B. mit ''ldapsearch'' die oben eingegebenen Werte zurückliefern: | + | slapcat -b "dc=linuxhotel,dc=de" > sicherung.ldif |
- | + | ||
- | ldapsearch -x -W -b dc=linuxhotel,dc=de -H ldap://localhost -D cn=admin,dc=linuxhotel,dc=de | + | |
- | + | ||
- | Die Benutzung der ldap-utils können sie mit Hilfe einer Konfigurationsdatei ''$HOME/.ldaprc'' ((das geht auch benutzerübergreifend, je nach Distribution ''/etc/ldap.conf'', ''/etc/ldap/ldap.conf'', ''/etc/openldap/ldap.conf'')) vereinfachen: | + | |
- | + | ||
- | <file> | + | |
- | BASE dc=linuxhotel,dc=de | + | |
- | BINDDN cn=admin,dc=linuxhotel,dc=de | + | |
- | HOST localhost | + | |
- | </file> | + | |
- | + | ||
- | Der obige Aufruf verkürzt sich dadurch zu: | + | |
- | ldapsearch -x -W | + | |
- | + | ||
- | ====== Tips & Tricks ====== | + | |
- | + | ||
- | ===== Backup und Restore ===== | + | |
- | /etc/init.d/slapd stop | + | |
- | slapcat > sicherung.ldif | + | |
less sicherung.ldif | less sicherung.ldif | ||
grep directory /etc/ldap/slapd.conf | grep directory /etc/ldap/slapd.conf | ||
Zeile 137: | Zeile 79: | ||
rm /var/lib/ldap/__db.* | rm /var/lib/ldap/__db.* | ||
vi sicherung.ldif | vi sicherung.ldif | ||
- | slapadd < sicherung.ldif | + | # nur bei dynamischer config: |
- | slapindex | + | slapadd -f sicherung.ldif |
+ | # slapindex # wird seit openldap2.4 nicht mehr benötigt | ||
chown -R openldap:openldap /var/lib/ldap/* | chown -R openldap:openldap /var/lib/ldap/* | ||
- | /etc/init.d/slapd start | + | service slapd start |
- | + | ||
- | + | ||
- | ===== vim ===== | + | |
- | Nützliche Optionen beim Editieren von LDIF Dateien: | + | |
- | + | ||
- | * '':set list'' | + | |
- | * '':syntax on'' | + | |
- | * '':set number'' | + | |
- | + | ||
- | Oder eine Datei ''~/.vimrc'' anlegen | + | |
- | + | ||
- | <code> | + | |
- | set list | + | |
- | set number | + | |
- | syntax on | + | |
- | </code> | + | |
- | + | ||
- | ===== ldapadd ===== | + | |
- | LDIF-Dateien vor dem Einfügen testen: | + | |
- | ldapadd -x -W -n < irgendwas.ldif | + | |
- | + | ||
- | und erst dann wirklich einfügen: | + | |
- | ldapadd -x -W < irgendwas.ldif | + | |
- | ====== weitere LDAP Clients ====== | + | # nur bei dynamischer config: |
- | * [[http://directory.apache.org/studio/|Apache Directory Studio]] | + | # slapcat -b cn=config > config-backup.ldif |
- | * [[http://phpldapadmin.sourceforge.net/|phpLDAPadmin]] | + | # wenn auch die config wieder hergestellt werden muss: Reihenfolge beachten! |
- | * [[http://www.webmin.com/standard.html|webmin]] | + | # slapadd -f config-backup.ldif && slapadd -f sicherung.ldif |
- | * [[http://www-unix.mcs.anl.gov/~gawor/ldap/|LDAP Browser/Editor]] | + | # anschließend "chown -R openldap:openldap /etc/ldap/slapd.d/", für /var/lib/ldap wie oben weiter |
- | * [[http://luma.sourceforge.net/|luma]] | + | |