Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste Überarbeitung Beide Seiten, nächste Überarbeitung | ||
lpi2:ldap [2016/03/07 07:09] ingo_wichmann |
lpi2:ldap [2018/02/27 14:16] 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,c | + | 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 | ||
- | ===== Zugriff auf LDAP-Server über Socket ===== | + | ===== root-Zugriff auf LDAP-Server über Socket ===== |
- | vim ~/.ldaprc | + | |
- | <file> | + | <file txt ~/.ldaprc> |
- | URI ldapi:// | + | URI ldapi:/// |
BASE cn=config | BASE cn=config | ||
SASL_MECH EXTERNAL | SASL_MECH EXTERNAL | ||
Zeile 82: | Zeile 84: | ||
ldapsearch -LLL '(olcSuffix=*)' olcSuffix | ldapsearch -LLL '(olcSuffix=*)' olcSuffix | ||
- | Schemata hinzufügen: | + | Mehr dazu unter [[ldap-config]] |
- | 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 115: | ||
===== 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 ==== | ==== Fehler beim Starten finden ==== | ||
Zeile 130: | Zeile 125: | ||
slapd -d -1 | slapd -d -1 | ||
- | ====== Client ldapsearch ====== | + | ====== Tips & Tricks ====== |
- | ===== Benötigte Pakete ===== | + | |
- | Debian: | + | |
- | ldap-utils | + | |
- | SuSE: | + | |
- | openldap2-client | + | |
- | Fedora, CentOS 6: | + | |
- | openldap-clients | + | |
- | ===== Testen ===== | + | ===== LDAP Daten sichern und wieder herstellen ===== |
- | Der OpenLDAP Server sollte nun z.B. mit ''ldapsearch'' die oben eingegebenen Werte zurückliefern: | + | (hier für Debian. Bei CentOS heißen Nutzer und Gruppe ldap statt openldap) |
- | + | ||
- | 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 | + | |
- | + | ||
- | ==== Eigenschaften des LDAP-Server abfragen ==== | + | |
- | ldapsearch -x -W -b '' -s base '+' | + | |
- | + | ||
- | ==== Schemata des LDAP-Server abfragen ==== | + | |
- | ldapsearch -x -W -b 'cn=Subschema' -s base '+' | + | |
- | + | ||
- | ====== Tips & Tricks ====== | + | |
- | ===== Backup und Restore ===== | + | service slapd stop |
- | /etc/init.d/slapd stop | + | |
slapcat -b dc=linuxhotel,dc=de > sicherung.ldif | slapcat -b dc=linuxhotel,dc=de > sicherung.ldif | ||
less sicherung.ldif | less sicherung.ldif | ||
Zeile 175: | Zeile 141: | ||
slapindex | slapindex | ||
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 ====== | ||
- | * [[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 | ||
- | )) |