EDV:LDAP: Difference between revisions
 |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 11: | Line 11: | ||
| 2. LDAP-Server || '''ldap2'''.kip.uni-heidelberg.de (129.206.176.149) |
| 2. LDAP-Server || '''ldap2'''.kip.uni-heidelberg.de (129.206.176.149) |
||
|- |
|- |
||
| search base || '''dc=kip |
| search base || '''dc=kip,dc=uni-heidelberg,dc=de''' |
||
|- |
|- |
||
| LDAP Version || 3 |
| LDAP Version || 3 |
||
Line 17: | Line 17: | ||
|} |
|} |
||
Die Aktuellnen (Beispiel)-Konfigurationsdateien fĂŒr das [[KIP]] sind alle im [[KIP-AFS]]: |
|||
/afs/kip/common/etc/LDAP/* |
|||
== LDAP-Utils == |
== LDAP-Utils == |
||
Line 23: | Line 25: | ||
Installieren der Binaries: |
Installieren der Binaries: |
||
aptitude install ldap-utils |
aptitude install ldap-utils |
||
Kurzversion. Kopieren der Konfigurationsdatei aus dem [[KIP-AFS]]: |
|||
cp --backup=t '''/afs/kip/common/etc/LDAP/ldap.conf''' /etc/ldap/ |
|||
cp --backup=t '''/afs/kip/common/etc/keys-certs/kip.crt''' /etc/ssl/ |
|||
Die '''/etc/ldap/ldap.conf''' sollte so aussehen: |
Die '''/etc/ldap/ldap.conf''' sollte so aussehen: |
||
URI ldap://ldap.kip.uni-heidelberg.de ldap://ldap2.kip.uni-heidelberg.de |
URI ldap://ldap.kip.uni-heidelberg.de ldap://ldap2.kip.uni-heidelberg.de |
||
BASE dc=kip |
BASE dc=kip,dc=uni-heidelberg,dc=de |
||
ldap_version 3 |
ldap_version 3 |
||
Line 39: | Line 45: | ||
aptitude install libnss-ldap |
aptitude install libnss-ldap |
||
Kurzversion. Kopieren der Konfigurationsdatei aus dem [[KIP-AFS]]: |
|||
In der '''/etc/pam_ldap.conf''' muss folgendes enthalten sein: |
|||
cp --backup=t '''/afs/kip/common/etc/LDAP/libnss-ldap.conf''' /etc/ |
|||
⚫ | |||
cp --backup=t '''/afs/kip/common/etc/LDAP/nsswitch.conf''' /etc/ |
|||
⚫ | |||
[ -x /etc/init.d/nscd ] && /etc/init.d/nscd restart |
|||
In der '''/etc/ |
In der '''/etc/libnss-ldap.conf''' muss folgendes enthalten sein: |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
timelimit 30 |
|||
⚫ | |||
⚫ | |||
⚫ | |||
In der '''/etc/nsswitch.conf''' an den EintrĂ€gen ''passwd'' und ''group'' '''ldap''' hinzufĂŒgen |
|||
und am besten auch 'compat' durch 'files' ersetzen: |
|||
⚫ | |||
⚫ | |||
⚫ | |||
Falls vorhanden den '''nscd''' (Name Service Cache Daemon) neustarten: |
Falls vorhanden den '''nscd''' (Name Service Cache Daemon) neustarten: |
||
Line 58: | Line 73: | ||
Installieren der Binaries: |
Installieren der Binaries: |
||
aptitude install libpam-ldap |
aptitude install libpam-ldap |
||
FĂŒr die '''pam_ldap.conf''' gibt es auch ein Beispiel im [[KIP-AFS]], |
|||
allerdings kann die Ănderung am '''Filter''' (pam_filter) notwendig sein: |
|||
cp --backup=t '''/afs/kip/common/etc/LDAP/pam_ldap.conf''' /etc/ |
|||
In der '''/etc/pam_ldap.conf''' sollte folgendes enthalten sein: |
In der '''/etc/pam_ldap.conf''' sollte folgendes enthalten sein: |
||
uri |
uri ldaps://ldap.kip.uni-heidelberg.de/ ldaps://ldap2.kip.uni-heidelberg.de/ ldaps://ldap3.kip.uni-heidelberg.de/ |
||
base dc=kip |
base dc=kip,dc=uni-heidelberg,dc=de |
||
scope sub |
scope sub |
||
timelimit 30 |
|||
⚫ | |||
bind_timelimit 30 |
|||
⚫ | |||
bind_policy soft |
|||
nss_base_passwd ou=people,dc=kip,dc=uni-heidelberg,dc=de |
|||
nss_base_group ou=group,dc=kip,dc=uni-heidelberg,dc=de |
|||
nss_map_attribute uniqueMember member |
nss_map_attribute uniqueMember member |
||
Line 73: | Line 95: | ||
pam_password crypt |
pam_password crypt |
||
pam_min_uid 1000 |
pam_min_uid '''1000''' |
||
ssl on |
ssl on |
||
tls_checkpeer no |
tls_checkpeer no |
||
tls_cacertfile /etc/ssl/kip.crt |
tls_cacertfile /etc/ssl/kip.crt |
||
Die Datei '''kip.crt''' gibt es hier: [[EDV:KIP-Wurzelzertifikat|KIP-Wurzelzertifikat]] |
Die Datei '''kip.crt''' gibt es hier: [[EDV:KIP-Wurzelzertifikat|KIP-Wurzelzertifikat]] |
||
Line 83: | Line 105: | ||
Nun entweder fĂŒr den Dienst den man anbieten will '''pam_ldap.so''' hinzufĂŒgen oder allgemein |
Nun entweder fĂŒr den Dienst den man anbieten will '''pam_ldap.so''' hinzufĂŒgen oder allgemein |
||
in den '''common-*'''-Dateien. |
in den '''common-*'''-Dateien. |
||
Einige Beispiele fĂŒr diese Dateien sind im [[KIP-AFS]]: |
|||
ls /afs/kip/common/profiles/new-System_*/etc/pam.d/ |
|||
Beispiel fĂŒr eine '''/etc/pam.d/common-auth''': |
Beispiel fĂŒr eine '''/etc/pam.d/common-auth''': |
||
auth '''sufficient''' pam_unix.so nullok_secure |
|||
auth required |
'''auth required pam_ldap.so''' ignore_unknown_user |
||
Beispiel fĂŒr eine '''/etc/pam.d/common-account''': |
Beispiel fĂŒr eine '''/etc/pam.d/common-account''': |
||
account '''sufficient''' pam_unix.so |
|||
'''account sufficient pam_ldap.so''' ignore_unknown_user |
|||
account required |
'''account required pam_ldap.so''' ignore_unknown_user |
||
{{Achtung|So wird der Nutzer erst |
{{Achtung|So wird der Nutzer erst lokal ĂŒberprĂŒft/gesucht und dann im LDAP.}} |
||
Die '''/etc/pam.d/ssh''' sieht dann zum Beispiel immernoch so aus: |
Die '''/etc/pam.d/ssh''' sieht dann zum Beispiel immernoch so aus: |
||
Line 115: | Line 140: | ||
@include common-password |
@include common-password |
||
== Probleme mit Ubuntu und einer nicht auflösbaren Gruppen ID == |
|||
Die sudo Umgebung in Ubuntu prĂŒft beim Einloggen ob der User Mitglied der Gruppe Admin ist. |
|||
Diese Routine schlÀgt in einer LDAP Umgebung fehl. Ein Workaround ist, die Datei /etc/bash.bashrc entsprechend zu editieren und |
|||
den Eintrag sudo-hint auszukommentieren. |
|||
cp /afs/kip/common/etc/bash.bashrc /etc/bash.bashrc -b |
|||
[[Category:LDAP|LDAP]] |
[[Category:LDAP|LDAP]] |
Latest revision as of 12:55, 12 June 2008
Einrichten eines LDAP-Clients im KIP
Hier KIP wird die zentrale Nutzerverwaltung in LDAP gemacht. Wenn von KIP-Account die Rede ist, wird damit immer der Account im LDAP gemeint.
Wichtige Angaben:
1. LDAP-Server | ldap.kip.uni-heidelberg.de (129.206.176.40) |
2. LDAP-Server | ldap2.kip.uni-heidelberg.de (129.206.176.149) |
search base | dc=kip,dc=uni-heidelberg,dc=de |
LDAP Version | 3 |
Die Aktuellnen (Beispiel)-Konfigurationsdateien fĂŒr das KIP sind alle im KIP-AFS:
/afs/kip/common/etc/LDAP/*
LDAP-Utils
Diese Tools ermöglichen unter anderem eine einfache Abfrage auf der Kommandozeile mit ldapsearch.
Installieren der Binaries:
aptitude install ldap-utils
Kurzversion. Kopieren der Konfigurationsdatei aus dem KIP-AFS:
cp --backup=t /afs/kip/common/etc/LDAP/ldap.conf /etc/ldap/ cp --backup=t /afs/kip/common/etc/keys-certs/kip.crt /etc/ssl/
Die /etc/ldap/ldap.conf sollte so aussehen:
URI ldap://ldap.kip.uni-heidelberg.de ldap://ldap2.kip.uni-heidelberg.de BASE dc=kip,dc=uni-heidelberg,dc=de ldap_version 3 TLS_REQCERT allow tls_cacert /etc/ssl/kip.crt
Die Datei kip.crt gibt es hier: KIP-Wurzelzertifikat
NSS (Namensauflösung)
Installieren der Binaries:
aptitude install libnss-ldap
Kurzversion. Kopieren der Konfigurationsdatei aus dem KIP-AFS:
cp --backup=t /afs/kip/common/etc/LDAP/libnss-ldap.conf /etc/ cp --backup=t /afs/kip/common/etc/LDAP/nsswitch.conf /etc/ [ -x /etc/init.d/nscd ] && /etc/init.d/nscd restart
In der /etc/libnss-ldap.conf muss folgendes enthalten sein:
uri ldap://ldap.kip.uni-heidelberg.de/ ldap://ldap2.kip.uni-heidelberg.de/ ldap://ldap3.kip.uni-heidelberg.de/ base dc=kip,dc=uni-heidelberg,dc=de timelimit 30 nss_base_passwd ou=people,dc=kip,dc=uni-heidelberg,dc=de nss_base_group ou=group,dc=kip,dc=uni-heidelberg,dc=de
In der /etc/nsswitch.conf an den EintrĂ€gen passwd und group ldap hinzufĂŒgen und am besten auch 'compat' durch 'files' ersetzen:
passwd: files ldap group: files ldap shadow: files
Falls vorhanden den nscd (Name Service Cache Daemon) neustarten:
/etc/init.d/nscd restart
Zum testen am besten getent verwenden (userX ist ein LDAP Nutzer):
getent passwd userX
PAM (Pluggable Authentication Modules)
Installieren der Binaries:
aptitude install libpam-ldap
FĂŒr die pam_ldap.conf gibt es auch ein Beispiel im KIP-AFS, allerdings kann die Ănderung am Filter (pam_filter) notwendig sein:
cp --backup=t /afs/kip/common/etc/LDAP/pam_ldap.conf /etc/
In der /etc/pam_ldap.conf sollte folgendes enthalten sein:
uri ldaps://ldap.kip.uni-heidelberg.de/ ldaps://ldap2.kip.uni-heidelberg.de/ ldaps://ldap3.kip.uni-heidelberg.de/ base dc=kip,dc=uni-heidelberg,dc=de scope sub timelimit 30 bind_timelimit 30 bind_policy soft nss_base_passwd ou=people,dc=kip,dc=uni-heidelberg,dc=de nss_base_group ou=group,dc=kip,dc=uni-heidelberg,dc=de nss_map_attribute uniqueMember member ## Here you can restrict access to only some people (for example KIPGroup S3) pam_filter objectclass=posixAccount #pam_filter &(objectclass=posixAccount)(KIPGroup=S3) pam_password crypt pam_min_uid 1000 ssl on tls_checkpeer no tls_cacertfile /etc/ssl/kip.crt
Die Datei kip.crt gibt es hier: KIP-Wurzelzertifikat
Nun entweder fĂŒr den Dienst den man anbieten will pam_ldap.so hinzufĂŒgen oder allgemein in den common-*-Dateien. Einige Beispiele fĂŒr diese Dateien sind im KIP-AFS:
ls /afs/kip/common/profiles/new-System_*/etc/pam.d/
Beispiel fĂŒr eine /etc/pam.d/common-auth:
auth sufficient pam_unix.so nullok_secure auth required pam_ldap.so ignore_unknown_user
Beispiel fĂŒr eine /etc/pam.d/common-account:
account sufficient pam_unix.so account required pam_ldap.so ignore_unknown_user
So wird der Nutzer erst lokal ĂŒberprĂŒft/gesucht und dann im LDAP. |
Die /etc/pam.d/ssh sieht dann zum Beispiel immernoch so aus:
auth required pam_env.so # [1] auth required pam_env.so envfile=/etc/default/locale # Standard Un*x authentication. @include common-auth account required pam_nologin.so # Standard Un*x authorization. @include common-account # Standard Un*x session setup and teardown. @include common-session session optional pam_motd.so # [1] session optional pam_mail.so standard noenv # [1] session required pam_limits.so # Standard Un*x password updating. @include common-password
Probleme mit Ubuntu und einer nicht auflösbaren Gruppen ID
Die sudo Umgebung in Ubuntu prĂŒft beim Einloggen ob der User Mitglied der Gruppe Admin ist. Diese Routine schlĂ€gt in einer LDAP Umgebung fehl. Ein Workaround ist, die Datei /etc/bash.bashrc entsprechend zu editieren und den Eintrag sudo-hint auszukommentieren.
cp /afs/kip/common/etc/bash.bashrc /etc/bash.bashrc -b