PAM-LDAP

Ez a leírás Debian 4.0 (Etch) operációs rendszerhez készült. A példa konfigurációs állományok bitről bitre másolása más rendszerekre nem biztos, hogy jó ötlet, de a koncepció azért kinyerhető. Néhány eltérést igyekeztem jelölni.

Schema
A legtöbb modern szerver támogatja a  objektumosztályt out-of-box. Ha még a shadow paramétereket is szeretnénk használni (jelszó lejárat, erősség stb), akkor a  objektumosztályra is szükségünk lesz.

Az alábbi attribútumok mindenképpen ki kell, hogy legyenek töltve:

Megjegyzések

 * Érdemes meggondolni, hogy milyen értékeket használunk, ,  ,   stb attribútumokban, ugyanis - ha több gépet akarunk LDAP beléptetésbe integrálni - némi gondot okozhat, hogy ezeknek bizony minden rendszerben meg kell egyezniük. Első (sziszifuszi) munka tehát a gépeket olyan állapotba hozni, hogy ezek az értékek mindenhol egyformák legyenek. (BSD-n természetesen   van.)

Jogosultságok, ACI
Általában nem szeretjük, ha a felhasználóink minden attribútumát mindenhonnan olvasni lehet, ezért aztán a PAM/NSS-LDAP számára létre kell hozni egy alkalmazás bejegyzést valami alkalmas helyen az LDAP fában. Például így:

dn: uid=papigw,ou=pam,ou=applications,o=niifi,o=niif,c=hu objectClass: top objectClass: account objectClass: simplesecurityobject uid: papigw userPassword: *****

Ezek után a felhasználóinkat tartalmazó ágra létre kell hozni egy jó kis ACI-t, pl. így: aci: (targetattr = "objectClass || uid || uidNumber || gidNumber || homeDirect ory || loginShell || gecos || shadowExpire || shadowFlag || shadowInactive ||   shadowLastChange || shadowMax || shadowMin || shadowWarning") (version 3.0;a  cl "PAM/NSS user lookup";allow (read,search)(userdn = "ldap:///uid=*,ou=pam,o  u=applications,o=niifi,o=niif,c=hu");)

Szükséges csomagok

 * libnss-ldap
 * libpam-ldap
 * nscd

és függőségeik. Az  használata éles üzemben majdhogynem elkerülhetetlen (hiszen különben az ,   stb. parancsok minden egyes sor kiírásához LDAP lekérdezést indítanának). Próbálkozás közben viszont érdemes kikapcsolni, különben lehet, hogy a cache-elt válasz zavaró lesz.

SSL konfiguráció
LDAP kliens konfigurálása SSL használatához

PAM/NSS-LDAP konfiguráció
A konfigurációs fájl helye disztribúciófüggő.
 * /etc/ldap.conf (RHEL)
 * /usr/local/etc/ldap.conf (FreeBSD)
 * /etc/pam-ldap.conf, libnss-ldap.conf (Debian)
 * Semmi ok sincs arra, hogy ez a két állomány eltérjen, ezért érdemes az egyiket törölni és a másikra szimbolikus linket használni.

base ou=users,o=niifi,o=niif,c=hu uri ldaps://directory.iif.hu ldap_version 3 binddn uid=papigw,ou=pam,ou=applications,o=niifi,o=niif,c=hu bindpw ****** scope one pam_password clear nss_base_group         ou=posix,ou=groups,o=niifi,o=niif,c=hu?one

NSS konfiguráció
/etc/nsswitch.conf: passwd:        files ldap group:         files ldap shadow:        files ldap

PAM konfiguráció
A /etc/pam.d alatti dolgokat kell módosítani. Ha bátrak vagyunk, dolgozhatunk a common-auth, common-account file-okon is, vagy (óvatosabban) az egyes szolgáltatásokhoz tartozó PAM beállításokon. Működő konfig: auth      sufficient   pam_unix.so nullok_secure auth      sufficient   pam_ldap.so use_first_pass debug auth      required     pam_deny.so

account   sufficient  pam_unix.so account    sufficient  pam_ldap.so

password  sufficient  pam_ldap.so password   sufficient  pam_unix.so nullok obscure min=4 max=8 md5

session   required    pam_mkhomedir.so skel=/etc/skel/ umask=0022 session   required    pam_unix.so