LDAP (förkortning för Lightweight Directory Access Protocol) är en industristandard och en allmänt använd uppsättning protokoll för åtkomst till katalogtjänster.
En katalogtjänst är enkelt uttryckt en centraliserad, nätverksbaserad databas som är optimerad för lästillgång. Den lagrar och ger tillgång till information som antingen måste delas mellan tillämpningar eller som är mycket distribuerad.
Katalogtjänster spelar en viktig roll i utvecklingen av intranät- och Internettillämpningar genom att de hjälper dig att dela information om användare, system, nätverk, tillämpningar och tjänster i hela nätverket.
Ett typiskt användningsfall för LDAP är att erbjuda en centraliserad lagring av användarnamn och lösenord. Detta gör det möjligt för olika program (eller tjänster) att ansluta till LDAP-servern för att validera användare.
När du har konfigurerat en fungerande LDAP-server måste du installera bibliotek på klienten för att ansluta till den. I den här artikeln visar vi hur man konfigurerar en LDAP-klient för att ansluta till en extern autentiseringskälla.
Jag hoppas att du redan har en fungerande LDAP-servermiljö, om inte konfigurera upp LDAP-server för LDAP-baserad autentisering.
Så installerar och konfigurerar du LDAP-klienten i Ubuntu och CentOS
På klientsystemen behöver du installera några nödvändiga paket för att autentiseringsmekanismen ska fungera korrekt med en LDAP-server.
Konfigurera LDAP-klient i Ubuntu 16.04 och 18.04
Först börjar du med att installera de nödvändiga paketen genom att köra följande kommando.
$ sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd
Under installationen kommer du att uppmanas att ange uppgifter om din LDAP-server (ange värdena i enlighet med din miljö). Observera att paketet ldap-auth-config som installeras automatiskt gör de flesta konfigurationer baserat på de indata du anger.
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. Om du vill göra några ändringar öppnar du den här filen och redigerar den med din favorit kommandoradsredigerare.
Nästan konfigurerar du LDAP-profilen för NSS genom att köra.
$ sudo auth-client-config -t nss -p lac_ldap
Därefter konfigurerar du systemet så att det använder LDAP för autentisering genom att uppdatera PAM-konfigurationerna. Välj LDAP och eventuella andra autentiseringsmekanismer som du behöver från menyn. Du bör nu kunna logga in med LDAP-baserade autentiseringsuppgifter.
$ sudo pam-auth-update
Ifall du vill att användarens hemkatalog skapas automatiskt, måste du göra ytterligare en konfiguration i PAM-filen för common-session.
$ sudo vim /etc/pam.d/common-session
För att lägga till den här raden i den.
session required pam_mkhomedir.so skel=/etc/skel umask=077
Spara ändringarna och stäng filen. Starta sedan om tjänsten NCSD (Name Service Cache Daemon) med följande kommando.
$ sudo systemctl restart nscd$ sudo systemctl enable nscd
Notera: Om du använder replikering måste LDAP-klienter hänvisa till flera servrar som anges i /etc/ldap.conf. Du kan ange alla servrar i den här formen:
uri ldap://ldap1.example.com ldap://ldap2.example.com
Detta innebär att begäran kommer att ta timeout och om Provider (ldap1.example.com) inte längre svarar kommer Consumer (ldap2.example.com) att försöka nås för att bearbeta den.
Om du vill kontrollera LDAP-posterna för en viss användare från servern kör du kommandot getent, till exempel.
$ getent passwd tecmint
Om ovanstående kommando visar uppgifter om den angivna användaren från filen /etc/passwd är din klientmaskin nu konfigurerad för autentisering med LDAP-servern, du bör kunna logga in med hjälp av LDAP-baserade autentiseringsuppgifter.
Konfigurera LDAP-klient i CentOS 7
För att installera de nödvändiga paketen kör du följande kommando. Observera att i det här avsnittet, om du använder systemet som en administrativ användare som inte är root-användare, använder du kommandot sudo för att köra alla kommandon.
# yum update && yum install openldap openldap-clients nss-pam-ldapd
Nästan aktiverar du klientsystemet för autentisering med hjälp av LDAP. Du kan använda verktyget authconfig, som är ett gränssnitt för att konfigurera systemets autentiseringsresurser.
Kör följande kommando och ersätt example.com med din domän och dc=example,dc=com med din LDAP-domänkontrollant.
# authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update
I kommandot ovan skapar alternativet --enablemkhomedir
en lokal användares hemkatalog vid den första anslutningen om det inte finns någon.
Nästan testar du om LDAP-posterna för en viss användare från servern, till exempel användaren tecmint.
$ getent passwd tecmint
Ovanstående kommando bör visa uppgifter om den angivna användaren från filen /etc/passwd, vilket innebär att klientmaskinen nu är konfigurerad för autentisering med LDAP-servern.
Viktigt: Om SELinux är aktiverat på ditt system måste du lägga till en regel för att tillåta att mkhomedir skapar hemkataloger automatiskt.
För mer information, se lämplig dokumentation från OpenLDAP Software dokumentkatalog.