Jak nakonfigurovat klienta LDAP pro připojení externího ověřování

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ů.

Enter LDAP Server URI
Enter LDAP Server URI

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.

Enter LDAP Search Base
Enter LDAP Search Base

Also choose the LDAP version to use and click Ok.

Select LDAP Version
Select LDAP Version

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..

Make Local Root Database Admin
Make Local Root Database Admin

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

Disable Login to LDAP Database
Disable Login to LDAP Database

Also define LDAP account for root and click Ok.

Define LDAP Account for Root
Define LDAP Account for Root

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

Enter LDAP Root Password
Enter LDAP Root Password

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
Konfigurace mechanismu ověřování PAM
Konfigurace mechanismu ověřování PAM

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.

Shrnutí

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *