EDV:LDAP
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.uni-heidelberg,dc=de |
LDAP Version | 3 |
LDAP-Utils
Diese Tools ermöglichen unter anderem eine einfache Abfrage auf der Kommandozeile mit ldapsearch.
Installieren der Binaries:
aptitude install ldap-utils
Die /etc/ldap/ldap.conf sollte so aussehen:
URI ldap://ldap.kip.uni-heidelberg.de ldap://ldap2.kip.uni-heidelberg.de BASE dc=kip.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
Die aktuellen Beispielkonfigurationen für das KIP sind im KIP-AFS:
/afs/kip/common/etc/LDAP/libnss-ldap.conf /afs/kip/common/etc/LDAP/nsswitch.conf
In der /etc/libnss-ldap.conf muss folgendes enthalten sein:
uri ldap://ldap.kip.uni-heidelberg.de/ ldap://ldap2.kip.uni-heidelberg.de/ base dc=kip.uni-heidelberg,dc=de nss_base_passwd ou=people,dc=kip.uni-heidelberg,dc=de nss_base_group ou=group,dc=kip.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
In der /etc/pam_ldap.conf sollte folgendes enthalten sein:
uri ldaps://ldap.kip.uni-heidelberg.de/ ldaps://ldap2.kip.uni-heidelberg.de/ base dc=kip.uni-heidelberg,dc=de scope sub nss_base_passwd ou=people,dc=kip.uni-heidelberg,dc=de nss_base_group ou=group,dc=kip.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. 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