LDAP (zkratka pro Lightweight Directory Access Protocol) je průmyslový standard, široce používaná sada protokolů pro přístup k adresářovým službám.
Adresářová služba je zjednodušeně řečeno centralizovaná síťová databáze optimalizovaná pro přístup ke čtení. Ukládá a poskytuje přístup k informacím, které musí být sdíleny mezi aplikacemi nebo jsou vysoce distribuované.
Adresářové služby hrají důležitou roli při vývoji intranetových a internetových aplikací, protože pomáhají sdílet informace o uživatelích, systémech, sítích, aplikacích a službách v celé síti.
Typickým případem použití LDAP je nabídka centralizovaného úložiště uživatelských jmen a hesel. To umožňuje různým aplikacím (nebo službám) připojit se k serveru LDAP a ověřit uživatele.
Po nastavení funkčního serveru LDAP je třeba do klienta nainstalovat knihovny pro připojení k němu. V tomto článku si ukážeme, jak nakonfigurovat klienta LDAP pro připojení k externímu zdroji ověřování.
Doufám, že již máte funkční prostředí serveru LDAP, pokud ne, nastavte server LDAP pro ověřování založené na protokolu LDAP.
Jak nainstalovat a nakonfigurovat klienta LDAP v systémech Ubuntu a CentOS
V klientských systémech bude třeba nainstalovat několik potřebných balíčků, aby mechanismus ověřování správně fungoval se serverem LDAP.
Konfigurace klienta LDAP v Ubuntu 16.04 a 18.04
Nejprve začněte instalací potřebných balíčků spuštěním následujícího příkazu.
$ sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd
Při instalaci budete vyzváni k zadání údajů o serveru LDAP (zadejte hodnoty podle svého prostředí). Všimněte si, že balík ldap-auth-config, který je automaticky instalován, provádí většinu konfigurací na základě zadaných vstupů.

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. Pokud chcete provést nějaké změny, otevřete a upravte tento soubor pomocí oblíbeného editoru příkazového řádku.
Následujícím spuštěním nakonfigurujte profil LDAP pro NSS.
$ sudo auth-client-config -t nss -p lac_ldap
Poté nakonfigurujte systém tak, aby používal LDAP pro ověřování aktualizací konfigurace PAM. V nabídce vyberte LDAP a další potřebné mechanismy ověřování. Nyní byste se měli být schopni přihlásit pomocí pověření založených na protokolu LDAP.
$ sudo pam-auth-update

V případě, že chcete, aby byl domovský adresář uživatele vytvořen automaticky, pak musíte provést ještě jednu konfiguraci v souboru PAM common-session.
$ sudo vim /etc/pam.d/common-session
Přidejte do něj tento řádek.
session required pam_mkhomedir.so skel=/etc/skel umask=077
Uložte změny a soubor zavřete. Poté restartujte službu NCSD (Name Service Cache Daemon) následujícím příkazem.
$ sudo systemctl restart nscd$ sudo systemctl enable nscd
Poznámka: Pokud používáte replikaci, klienti LDAP se budou muset odkazovat na více serverů uvedených v souboru /etc/ldap.conf. Všechny servery můžete zadat v tomto tvaru:
uri ldap://ldap1.example.com ldap://ldap2.example.com
To znamená, že požadavek vyprší a pokud poskytovatel (ldap1.example.com) přestane reagovat, pokusí se jej zpracovat spotřebitel (ldap2.example.com).
Chcete-li zkontrolovat záznamy LDAP pro konkrétního uživatele ze serveru, spusťte například příkaz getent.
$ getent passwd tecmint
Pokud výše uvedený příkaz zobrazí podrobnosti o zadaném uživateli ze souboru /etc/passwd, váš klientský počítač je nyní nakonfigurován pro ověřování na serveru LDAP, měli byste být schopni se přihlásit pomocí pověření LDAP.
Konfigurace klienta LDAP v systému CentOS 7
Chcete-li nainstalovat potřebné balíčky, spusťte následující příkaz. Všimněte si, že pokud v této části provozujete systém jako uživatel se správcovským oprávněním jiným než root, použijte ke spuštění všech příkazů příkaz sudo.
# yum update && yum install openldap openldap-clients nss-pam-ldapd
Následujícím úkolem je povolit klientskému systému ověřování pomocí protokolu LDAP. Můžete použít nástroj authconfig, což je rozhraní pro konfiguraci prostředků ověřování systému.
Spusťte následující příkaz a nahraďte example.com svou doménou a dc=example,dc=com svým řadičem domény LDAP.
# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update
V uvedeném příkazu volba --enablemkhomedir
vytvoří při prvním připojení lokální domovský adresář uživatele, pokud žádný neexistuje.
Pak otestujte, zda jsou k dispozici záznamy LDAP pro konkrétního uživatele ze serveru, například uživatele tecmint.
$ getent passwd tecmint
Výše uvedený příkaz by měl zobrazit podrobnosti o zadaném uživateli ze souboru /etc/passwd, z čehož vyplývá, že klientský počítač je nyní nakonfigurován pro ověřování pomocí serveru LDAP.
Důležité: Pokud je v systému povolen SELinux, je třeba přidat pravidlo, které umožní automatické vytváření domovských adresářů pomocí mkhomedir.
Další informace naleznete v příslušné dokumentaci z katalogu dokumentů OpenLDAP Software.