Az LDAP (a Lightweight Directory Access Protocol rövidítése) egy ipari szabvány, széles körben használt protokollkészlet a címtárszolgáltatások eléréséhez.
A címtárszolgáltatás egyszerűbben fogalmazva egy központosított, hálózati alapú, olvasási hozzáférésre optimalizált adatbázis. Olyan információkat tárol és biztosít hozzáférést azokhoz, amelyeket vagy az alkalmazások között kell megosztani, vagy amelyek nagymértékben elosztottak.
A címtárszolgáltatások fontos szerepet játszanak az intranetes és internetes alkalmazások fejlesztésében, mivel segítenek a felhasználókra, rendszerekre, hálózatokra, alkalmazásokra és szolgáltatásokra vonatkozó információk hálózaton belüli megosztásában.
Az LDAP tipikus felhasználási esete a felhasználónevek és jelszavak központi tárolása. Ez lehetővé teszi, hogy különböző alkalmazások (vagy szolgáltatások) csatlakozhassanak az LDAP-kiszolgálóhoz a felhasználók hitelesítéséhez.
A működő LDAP-kiszolgáló beállítása után a kliensre telepíteni kell a hozzá való csatlakozáshoz szükséges könyvtárakat. Ebben a cikkben megmutatjuk, hogyan kell beállítani egy LDAP-klienst, hogy csatlakozni tudjon egy külső hitelesítési forráshoz.
Remélem, már van egy működő LDAP-kiszolgáló környezete, ha nincs, akkor állítsa be az LDAP-kiszolgálót az LDAP-alapú hitelesítéshez.
How to Install and Configure LDAP Client in Ubuntu and CentOS
A kliensrendszereken telepíteni kell néhány szükséges csomagot, hogy a hitelesítési mechanizmus megfelelően működjön az LDAP-kiszolgálóval.
Az LDAP kliens konfigurálása az Ubuntu 16.04 és 18.04 rendszerekben
Először is kezdje a szükséges csomagok telepítésével a következő parancs futtatásával.
$ sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd
A telepítés során a rendszer kérni fogja az LDAP-kiszolgáló adatait (adja meg a környezetének megfelelő értékeket). Vegye figyelembe, hogy az automatikusan telepített ldap-auth-config csomag elvégzi a legtöbb konfigurációt az Ön által megadott bemenetek alapján.

Next, enter the name of the LDAP search base, you can use the components of their domain names for this purpose as shown in the screenshot.

Also choose the LDAP version to use and click Ok.

Now configure the option to allow you to make password utilities that use pam to behave like you would be changing local passwords and click Yes to continue..

Next, disable login requirement to the LDAP database using the next option.

Also define LDAP account for root and click Ok.

Next, enter the password to use when ldap-auth-config tries to login to the LDAP directory using the LDAP account for root.

The results of the dialog will be stored in the file /etc/ldap.conf. Ha bármilyen módosítást szeretne végezni, nyissa meg és szerkessze ezt a fájlt a kedvenc parancssori szerkesztőjével.
Ezután konfigurálja az NSS LDAP-profilját a futtatással.
$ sudo auth-client-config -t nss -p lac_ldap
Azután a PAM-konfigurációk frissítésével konfigurálja a rendszert az LDAP hitelesítésre való használatára. A menüből válassza ki az LDAP-ot és a többi szükséges hitelesítési mechanizmust. Most már be kell tudnia jelentkezni LDAP-alapú hitelesítő adatokkal.
$ sudo pam-auth-update

Ha azt szeretné, hogy a felhasználó home könyvtárát automatikusan hozza létre, akkor még egy konfigurációt kell elvégeznie a common-session PAM fájlban.
$ sudo vim /etc/pam.d/common-session
Adjuk hozzá ezt a sort.
session required pam_mkhomedir.so skel=/etc/skel umask=077
Mentsük el a módosításokat és zárjuk be a fájlt. Ezután indítsa újra az NCSD (Name Service Cache Daemon) szolgáltatást a következő paranccsal.
$ sudo systemctl restart nscd$ sudo systemctl enable nscd
Megjegyzés: Ha replikációt használ, az LDAP-ügyfeleknek az /etc/ldap.conf állományban megadott több kiszolgálóra kell hivatkozniuk. Az összes kiszolgálót megadhatja ebben a formában:
uri ldap://ldap1.example.com ldap://ldap2.example.com
Ez azt jelenti, hogy a kérés időt veszít, és ha a szolgáltató (ldap1.example.com) nem reagál, a fogyasztó (ldap2.example.com) megpróbálja elérni a kérés feldolgozásához.
Az LDAP-bejegyzések ellenőrzéséhez egy adott felhasználó LDAP-bejegyzéseit a kiszolgálóról például futtassa a getent parancsot.
$ getent passwd tecmint
Ha a fenti parancs megjeleníti a megadott felhasználó adatait az /etc/passwd fájlból, akkor az ügyfélgépe most már konfigurálva van az LDAP-kiszolgálóval való hitelesítésre, be kell tudnia jelentkezni az LDAP-alapú hitelesítő adatokkal.
LDAP-kliens konfigurálása CentOS 7-ben
A szükséges csomagok telepítéséhez futtassa a következő parancsot. Vegye figyelembe, hogy ebben a szakaszban, ha a rendszert nem root rendszergazdai felhasználóként működteti, használja a sudo parancsot az összes parancs futtatásához.
# yum update && yum install openldap openldap-clients nss-pam-ldapd
A következőkben engedélyezze az ügyfélrendszernek az LDAP használatával történő hitelesítést. Ehhez használhatja az authconfig segédprogramot, amely a rendszer hitelesítési erőforrásainak konfigurálására szolgáló felület.
Futtassa a következő parancsot, és helyettesítse az example.com-ot a tartományával, a dc=example,dc=com-ot pedig az LDAP-tartományvezérlőjével.
# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update
A fenti parancsban a --enablemkhomedir
opció létrehoz egy helyi felhasználói home könyvtárat az első csatlakozáskor, ha nincs ilyen.
A következő lépésben tesztelje, hogy egy adott felhasználó LDAP bejegyzései a szerverről, például a user tecmint.
$ getent passwd tecmint
A fenti parancsnak meg kell jelenítenie a megadott felhasználó adatait az /etc/passwd fájlból, ami azt jelenti, hogy az ügyfélgép most már úgy van beállítva, hogy hitelesítse magát az LDAP-kiszolgálóval.
Fontos: Ha a SELinux engedélyezve van a rendszerén, akkor hozzá kell adnia egy szabályt, amely engedélyezi a home könyvtárak mkhomedir általi automatikus létrehozását.
További információkért tekintse meg a megfelelő dokumentációt az OpenLDAP Software dokumentumkatalógusában.