Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:ldap

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:ldap [2016/03/07 07:09] – ingo_wichmannlpi2:ldap [2025/11/21 13:19] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== OpenLDAP Server ====== ====== OpenLDAP Server ======
-===== Benötigte Pakete ===== +===== Voraussetzungen =====
-Debian: +
-  slapd +
-SuSE: (( Bug in openSuSE 12.3 und 13.1 https://bugzilla.novell.com/show_bug.cgi?id=777418 )) +
-  openldap2+
  
-CentOS (ab 6): +==== Netzwerk / DNS ====
-  openldap-servers openldap-clients+
  
 +Die Auflösung des lokalen FQDN (''hostname -f'') sollte funktionieren.
 +
 +==== Benötigte Pakete ====
 +  * Debian: ''slapd ldap-utils''
 +
 +++++ Initiale Konfiguration anpassen |
 ===== Initiale Konfiguration ===== ===== Initiale Konfiguration =====
 ==== Debian ==== ==== Debian ====
Zeile 28: Zeile 29:
 </file> </file>
 <code bash>DEBCONF</code> <code bash>DEBCONF</code>
- 
-==== CentOS (7) ==== 
-   
-  rm -rf /var/lib/ldap/* 
-  rm -rf /etc/openldap/slapd.d/* 
-  cp -a /usr/share/openldap-servers/slapd.ldif /usr/share/openldap-servers/slapd.ldif.orig 
-  vim  /usr/share/openldap-servers/slapd.ldif 
-<file ldif> 
-  olcAccess: to dn.base="" by * read 
-olcAccess: to dn.base="cn=Subschema" by * read 
-olcAccess: to * 
-        by self write 
-        by users read 
-        by anonymous auth 
-# 
-# Server status monitoring 
-# 
- 
-dn: olcDatabase=monitor,cn=config 
-objectClass: olcDatabaseConfig 
-olcDatabase: monitor 
-olcAccess: to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,c 
- n=auth" read by dn.base="cn=admin,dc=example,dc=net" read by * none 
- 
-# 
-# Backend database definitions 
-# 
- 
-dn: olcDatabase=hdb,cn=config 
-objectClass: olcDatabaseConfig 
-objectClass: olcHdbConfig 
-olcDatabase: hdb 
-olcSuffix: dc=linuxhotel,dc=de 
-olcRootDN: cn=admin,dc=linuxhotel,dc=de 
-olcDbDirectory: /var/lib/ldap 
-olcDbIndex: objectClass eq,pres 
-olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub 
-</file> 
- 
-  /usr/libexec/openldap/convert-config.sh -f /usr/share/openldap-servers/slapd.ldif 
-  cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 
-  systemctl start slapd 
-  systemctl enable slapd 
- 
-===== Zugriff auf LDAP-Server über Socket ===== 
-  vim ~/.ldaprc 
- 
-<file> 
-URI       ldapi:// 
-BASE      cn=config 
-SASL_MECH EXTERNAL 
-</file> 
-  ldapsearch -LLL '(olcSuffix=*)' olcSuffix 
- 
-Schemata hinzufügen: 
-  ldapadd -f /etc/openldap/schema/core.ldif  
-  ldapadd -f /etc/openldap/schema/cosine.ldif  
-  ldapadd -f /etc/openldap/schema/inetorgperson.ldif  
-  ldapadd -f /etc/openldap/schema/nis.ldif  
- 
-  ldapsearch -b cn=schema,cn=config -LLL dn 
  
 ===== erste LDAP Einträge ===== ===== erste LDAP Einträge =====
- +Man kann das Administrator-Passwort mit dem Befehl ''slapadd'' hinzufügen, das mit dem Befehl ''slappasswd'' erzeugt wird:
-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>
Zeile 118: Zeile 57:
 <code>LDIF</code> <code>LDIF</code>
  
-===== slapd starten ===== +++++
-SuSE, Centos, Fedora:  +
-  /etc/init.d/ldap restart +
-  chkconfig ldap on+
  
-Debian: +===== root-Zugriff auf LDAP-Server über Socket =====
-  /etc/init.d/slapd restart+
  
-==== Fehler beim Starten finden ==== +<file txt ~/.ldaprc> 
-(unter SuSE /usr/lib/openldap/slapd) +URI       ldapi:/// 
-  slapd -d -1 +BASE      cn=config 
- +SASL_MECH EXTERNAL
-====== Client ldapsearch ====== +
-===== Benötigte Pakete ===== +
-Debian: +
-  ldap-utils +
-SuSE: +
-  openldap2-client +
-Fedora, CentOS 6: +
-  openldap-clients +
- +
-===== Testen ===== +
-Der OpenLDAP Server sollte nun z.B. mit ''ldapsearch'' die oben eingegebenen Werte zurückliefern: +
- +
-  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> </file>
 +  ldapsearch -LLL '(olcSuffix=*)' olcSuffix
  
-Der obige Aufruf verkürzt sich dadurch zu: +Mehr dazu unter [[ldap-config]]
-  ldapsearch -x -W+
  
-==== Eigenschaften des LDAP-Server abfragen ==== +==== Fehler beim Starten finden ==== 
-  ldapsearch -x -W -b '' -s base '+' +  slapd -d -1
- +
-==== Schemata des LDAP-Server abfragen ==== +
-  ldapsearch -x -W -b 'cn=Subschema' -s base '+'+
  
 ====== Tips & Tricks ====== ====== Tips & Tricks ======
  
-===== Backup und Restore ===== +===== LDAP Daten sichern und wieder herstellen ===== 
-  /etc/init.d/slapd stop + 
-  slapcat -b dc=linuxhotel,dc=de > sicherung.ldif+  service slapd stop 
 +  slapcat -b "dc=linuxhotel,dc=de" > sicherung.ldif
   less sicherung.ldif   less sicherung.ldif
   grep directory /etc/ldap/slapd.conf   grep directory /etc/ldap/slapd.conf
Zeile 172: Zeile 85:
   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: +  # nur bei dynamischer config:  
-  ldapadd -x -W < irgendwas.ldif+  # slapcat -b cn=config > config-backup.ldif 
 +  # wenn auch die config wieder hergestellt werden muss: Reihenfolge beachten! 
 +  # slapadd -f config-backup.ldif && slapadd -f sicherung.ldif 
 +  # anschließend "chown -R openldap:openldap /etc/ldap/slapd.d/", für /var/lib/ldap wie oben weiter
  
-====== weitere LDAP Clients ====== 
-  * [[http://directory.apache.org/studio/|Apache Directory Studio]] 
-  * [[http://phpldapadmin.sourceforge.net/|phpLDAPadmin]] 
-  * [[http://www.webmin.com/standard.html|webmin]] 
-  * [[http://www-unix.mcs.anl.gov/~gawor/ldap/|LDAP Browser/Editor]] 
-  * [[http://luma.sourceforge.net/|luma]] 
-  * ldapvi 
-  * shelldap ((Installation unter debian 6.0:  
-  apt-get install libio-socket-ssl-perl shelldap 
-)) 
lpi2/ldap.1457334563.txt.gz · Zuletzt geändert: 2016/03/07 07:09 von ingo_wichmann