Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:ldap

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
lpi2:ldap [2016/03/07 07:10]
ingo_wichmann [Zugriff auf LDAP-Server über Socket]
lpi2:ldap [2019/02/14 03:31]
127.0.0.1 Externe Bearbeitung
Zeile 2: Zeile 2:
 ===== Benötigte Pakete ===== ===== Benötigte Pakete =====
 Debian: Debian:
-  slapd+  slapd ldap-utils
 SuSE: (( Bug in openSuSE 12.3 und 13.1 https://​bugzilla.novell.com/​show_bug.cgi?​id=777418 )) SuSE: (( Bug in openSuSE 12.3 und 13.1 https://​bugzilla.novell.com/​show_bug.cgi?​id=777418 ))
   openldap2   openldap2
Zeile 31: Zeile 31:
 ==== CentOS (7) ==== ==== CentOS (7) ====
   ​   ​
 +  shopt -s dotglob
   rm -rf /​var/​lib/​ldap/​*   rm -rf /​var/​lib/​ldap/​*
   rm -rf /​etc/​openldap/​slapd.d/​*   rm -rf /​etc/​openldap/​slapd.d/​*
Zeile 36: Zeile 37:
   vim  /​usr/​share/​openldap-servers/​slapd.ldif   vim  /​usr/​share/​openldap-servers/​slapd.ldif
 <file ldif> <file ldif>
-  ​olcAccess: to dn.base=""​ by * read+olcAccess: to dn.base=""​ by * read
 olcAccess: to dn.base="​cn=Subschema"​ by * read olcAccess: to dn.base="​cn=Subschema"​ by * read
 olcAccess: to * olcAccess: to *
Zeile 49: Zeile 50:
 objectClass:​ olcDatabaseConfig objectClass:​ olcDatabaseConfig
 olcDatabase:​ monitor olcDatabase:​ monitor
-olcAccess: to * by dn.base="​gidNumber=0+uidNumber=0,​cn=peercred,​cn=external,​+olcAccess: to *  
- n=auth" read by dn.base="​cn=admin,​dc=example,​dc=net"​ read by * none+  ​by dn.base="​gidNumber=0+uidNumber=0,​cn=peercred,​cn=external,​cn=auth" read  
 +  ​by dn.base="​cn=admin,​dc=example,​dc=net"​ read 
 +  ​by * none
  
 # #
Zeile 72: Zeile 75:
   systemctl enable slapd   systemctl enable slapd
  
-===== root-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 =====
- 
 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: 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:
  
Zeile 120: Zeile 105:
 ===== slapd starten ===== ===== slapd starten =====
 SuSE, Centos, Fedora: ​ SuSE, Centos, Fedora: ​
-  ​/​etc/​init.d/​ldap restart+  ​service ​ldap restart
   chkconfig ldap on   chkconfig ldap on
  
 Debian: Debian:
-  ​/​etc/​init.d/​slapd restart+  ​service ​slapd restart
  
-==== Fehler beim Starten finden ​==== +===== root-Zugriff auf LDAP-Server über Socket =====
-(unter SuSE /​usr/​lib/​openldap/​slapd) +
-  slapd -d -1+
  
-====== Client ldapsearch ====== +<file txt ~/.ldaprc> 
-===== Benötigte Pakete ===== +URI       ldapi:/// 
-Debian: +BASE      cn=config 
-  ldap-utils +SASL_MECH EXTERNAL
-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 '​+'​ +(unter SuSE /​usr/​lib/​openldap/​slapd) 
- +  ​slapd --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 +(hier für DebianBei CentOS heißen Nutzer und Gruppe ldap statt openldap) 
-  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 139:
   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 ​--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.txt · Zuletzt geändert: 2024/03/21 10:58 von ingo_wichmann