EDV:LDAP: Difference between revisions

From KIP Wiki
⧌kip-jumptonavigation⧜⧌kip-jumptosearch⧜
mNo edit summary
 
Line 143: Line 143:
== Probleme mit Ubuntu und einer nicht auflösbaren Gruppen ID ==
== Probleme mit Ubuntu und einer nicht auflösbaren Gruppen ID ==


Die sudo Umgebung in Ubuntu prĂŒft beim einloggen ob der User Muster ein Mitglied der Gruppe Admin ist.
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



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