Sok LDAP kliens beállítás érhető el a neten, nálam valahogy nem akartak működni.
Ezért készítem ezt a leírást, hogy mások is rátalálhassanak egy ilyen konfigurációra.
Abból indulok ki, hogy létezik valahol egy már beállított és működő LDAP szerver, amit a kliensem elér és a hitelesítést azon keresztül kívánom elvégezni.
A kliens jelen cikk írásakor egy frissen telepített Debian 6.0.6 Squeeze / Ubuntu 12.04.1 LTS Precise Pangolin gép lesz.
Telepítsük fel a szükséges eszközöket a kliensre és adjuk meg a már működő LDAP szerver adatait:
apt-get install libnss-ldap libpam-ldap nscd
LDAP server Uniform Resource Identifier: ldap://ldap.weblappark.hu/
Distinguished name of the search base: dc=ldap,dc=weblappark,dc=hu
LDAP version to use: 3
Make local root database admin: yes
Does the LDAP database require login? No
LDAP Account for root: cn=adminuser,dc=ldap,dc=weblappark,dc=hu
LDAP root account password:
Most a libnss-ldap lehetővé teszi, hogy az LDAP szolgáltatáson keresztül feloldja a távoli szerver adatbázisában lévő neveket, a libpam-ldap pedig a távoli felhasználók hitelesítését segíti a pam szolgáltatáson keresztül. Az nscd pedig egy névszolgáltatás cachelő démon, ami tárolja a szerverről már lekért információkat így nem kell a kliensnek minden lekérdezéskor az LDAP szerverhez fordulni.
Az /etc/nsswitch.conf fájlban módosítsuk az alábbi sorokat, hogy az LDAPban is keresse a szükséges információkat:
auth-client-config -t nss -p lac_ldap
vagy
passwd: files ldap group: files ldap shadow: files ldap
Ha ezekkel megvagyunk, akkor már sikeresen le tudjuk kérdezni a távoli szerveren lévő LDAP felhasználó adatait:
getent passwd teszt teszt:x:10002:10002:teszt:/home/teszt:/bin/bash
Nem marad más hátra, mint hogy a PAM rendszerrel is tudassuk, hogy az LDAP felhasználók hitelesíthetőek a rendszerben:
Adjuk hozzá az /etc/pam.d/common-account fájl elejéhez a következő sorokat:
account sufficient pam_ldap.so account sufficient pam_unix.so session required pam_mkhomedir.so
Adjuk hozzá az /etc/pam.d/common-auth fájl elejéhez a következő sorokat:
auth sufficient pam_ldap.so auth sufficient pam_unix.so nullok_secure use_first_pass
Adjuk hozzá az /etc/pam.d/common-password fájl elejéhez a következő sorokat:
password sufficient pam_ldap.so password sufficient pam_unix.so nullok obscure min=4 max=8 md5
Adjuk hozzá az /etc/pam.d/common-session fájl elejéhez a következő sorokat:
session sufficient pam_ldap.so session sufficient pam_unix.so
Ha ezeket a módosításokat felvettük, frissítsük le a PAM adatbázist
pam-auth-update
Végezetül indítsuk újra az nscd démont, hogy friss információkkal lássa el az LDAP szerver.
/etc/init.d/nscd restart
Azután sikeresen beléphetünk az újonnan telepített gépre a távoli LDAP szerveren kezelt felhasználókkal:
ssh teszt@vps312 teszt@vps312's password: Creating directory '/home/teszt'. teszt@vps312:~$
A frissen telepített gép ssh logja:
vps312 sshd: Accepted password for teszt
Ha valamelyik beállítást az elején elrontottuk, akkor az /etc/ldap.conf fájlban utólag tudjuk módosítani, vagy a
dpkg-reconfigure ldap-auth-config
parancs futtatásával.
Jelszó váltás:
teszt@vps312:~$ passwd Enter login(LDAP) password: jelenlegi LDAP jelszó New password: új jelszó Re-enter new password: új jelszó megint LDAP password information changed for teszt passwd: password updated successfully teszt@vps312:~$
A következő belépésnél már a megváltoztatott LDAP jelszóval tudunk belépni.
LDAP jelszó változtatása helyi root felhasználóval:
root@vps312:~# passwd teszt New password: Re-enter new password: LDAP password information changed for teszt passwd: password updated successfully root@vps312:~#
Legutóbbi hozzászólások