EDV:LDAP: Difference between revisions

From KIP Wiki
⧟kip-jumptonavigation⧽⧟kip-jumptosearch⧽
Line 84: Line 84:
in den '''common-*'''-Dateien.
in den '''common-*'''-Dateien.
Beispiel fĂźr eine '''/etc/pam.d/common-auth''':
Beispiel fĂźr eine '''/etc/pam.d/common-auth''':
'''auth sufficient pam_ldap.so''' ignore_unknown_user
auth '''sufficient''' pam_unix.so nullok_secure
auth required pam_unix.so nullok_secure
'''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 pam_unix.so
'''account required pam_ldap.so''' ignore_unknown_user


{{Achtung|So wird der Nutzer erst im LDAP ĂźberprĂźft/gesucht und erst bei Nichterfolg lokal.}}
{{Achtung|So wird der Nutzer erst im LDAP ĂźberprĂźft/gesucht und erst bei Nichterfolg lokal.}}

Revision as of 13:22, 13 June 2007

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

In der /etc/pam_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

In der /etc/nsswitch.conf an den Einträgen passwd und group ldap hinzufßgen:

passwd:         compat ldap
group:          compat ldap
shadow:         compat

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 im LDAP ĂźberprĂźft/gesucht und erst bei Nichterfolg lokal.

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