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.
Beállítások az LDAP szerveren
Schema
A legtöbb modern szerver támogatja a posixAccount
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 shadowAccount
objektumosztályra is szükségünk lesz.
Az alábbi attribútumok mindenképpen ki kell, hogy legyenek töltve:
uid
uidNumber
gidNumber
homeDirectory
cn
Megjegyzések
- Érdemes meggondolni, hogy milyen értékeket használunk
uidNumber
,gidNumber
,loginShell
,homeDirectory
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/usr/local/bin/bash
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");)
Beállítások a Host gépen
Szükséges csomagok
- libnss-ldap
- libpam-ldap
- nscd
és függőségeik. Az nscd
használata éles üzemben majdhogynem elkerülhetetlen (hiszen különben az ls -l
, ps -ef
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
Nincs megjegyzés