Hvordan konfigurere LDAP-klient for å koble til ekstern autentisering


LDAP (forkortelse for Lightweight Directory Access Protocol) er en industristandard, mye brukt sett med protokoller for tilgang til katalogtjenester.

En katalogtjeneste er enkelt sagt en sentralisert, nettverksbasert database optimalisert for lesetilgang. Den lagrer og gir tilgang til informasjon som enten må deles mellom applikasjoner eller er høyt distribuert.

Katalogtjenester spiller en viktig rolle i utviklingen av intranett- og Internett-applikasjoner ved å hjelpe deg med å dele informasjon om brukere, systemer, nettverk, applikasjoner og tjenester i hele nettverket.

Et typisk bruksområde for LDAP er å tilby en sentralisert lagring av brukernavn og passord. Dette lar ulike applikasjoner (eller tjenester) koble seg til LDAP-serveren for å validere brukere.

Etter å ha satt opp en fungerende LDAP-server, må du installere biblioteker på klienten for å koble til den. I denne artikkelen vil vi vise hvordan du konfigurerer en LDAP-klient for å koble til en ekstern autentiseringskilde.

Jeg håper du allerede har et fungerende LDAP-servermiljø, hvis ikke konfigurerer du LDAP-server for LDAP-basert autentisering.

Hvordan installere og konfigurere LDAP-klient i Ubuntu og CentOS

På klientsystemene må du installere noen nødvendige pakker for å få autentiseringsmekanismen til å fungere korrekt med en LDAP-server.

Konfigurer LDAP-klient i Ubuntu 16.04 og 18.04

Start først med å installere de nødvendige pakkene ved å kjøre følgende kommando.

sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

Under installasjonen vil du bli bedt om detaljer om LDAP-serveren din (gi verdiene i henhold til miljøet ditt). Merk at ldap-auth-config-pakken som er automatisk installert gjør det meste av konfigurasjonene basert på inngangene du angir.

Deretter skriver du inn navnet på LDAP-søkebasen, du kan bruke komponentene i domenenavnene deres til dette formålet som vist på skjermbildet.

Velg også LDAP-versjonen du vil bruke, og klikk Ok.

Konfigurer nå alternativet slik at du kan få passordverktøy som bruker pam til å oppføre seg som om du endrer lokale passord, og klikk på Ja for å fortsette.

Deaktiver deretter påloggingskrav til LDAP-databasen ved å bruke det neste alternativet.

Definer også LDAP-konto for root og klikk OK.

Deretter skriver du inn passordet som skal brukes når ldap-auth-config prøver å logge på LDAP-katalogen ved å bruke LDAP-kontoen for root.

Resultatene av dialogen vil bli lagret i filen /etc/ldap.conf. Hvis du vil gjøre noen endringer, åpne og rediger denne filen ved å bruke din favoritt kommandolinjeredigerer.

Deretter konfigurerer du LDAP-profilen for NSS ved å kjøre.

sudo auth-client-config -t nss -p lac_ldap

Konfigurer deretter systemet til å bruke LDAP for autentisering ved å oppdatere PAM-konfigurasjoner. Fra menyen velger du LDAP og eventuelle andre autentiseringsmekanismer du trenger. Du skal nå kunne logge på med LDAP-basert legitimasjon.

sudo pam-auth-update

I tilfelle du vil at hjemmekatalogen til brukeren skal opprettes automatisk, må du utføre en ekstra konfigurasjon i PAM-filen for fellesøkten.

sudo vim /etc/pam.d/common-session

Legg til denne linjen i den.

session required pam_mkhomedir.so skel=/etc/skel umask=077

Lagre endringene og lukk filen. Start deretter NCSD (Name Service Cache Daemon)-tjenesten på nytt med følgende kommando.

sudo systemctl restart nscd
sudo systemctl enable nscd

Merk: Hvis du bruker replikering, må LDAP-klienter referere til flere servere spesifisert i /etc/ldap.conf. Du kan spesifisere alle serverne i dette skjemaet:

uri ldap://ldap1.example.com  ldap://ldap2.example.com

Dette innebærer at forespørselen vil tidsavbrytes, og hvis leverandøren (ldap1.example.com) ikke svarer, vil forbrukeren (ldap2) .example.com) vil forsøke å bli kontaktet for å behandle den.

For å sjekke LDAP-oppføringene for en bestemt bruker fra serveren, kjør for eksempel getent-kommandoen.

getent passwd tecmint

Hvis kommandoen ovenfor viser detaljer om den angitte brukeren fra /etc/passwd-filen, er klientmaskinen din nå konfigurert til å autentisere med LDAP-serveren, bør du kunne logge på med LDAP-basert legitimasjon .

Konfigurer LDAP-klient i CentOS 7

For å installere de nødvendige pakkene, kjør følgende kommando. Merk at i denne delen, hvis du opererer systemet som en ikke-root administrativ bruker, bruk sudo-kommandoen for å kjøre alle kommandoer.

yum update && yum install openldap openldap-clients nss-pam-ldapd

Deretter aktiverer du klientsystemet for å autentisere ved hjelp av LDAP. Du kan bruke authconfig-verktøyet, som er et grensesnitt for å konfigurere systemautentiseringsressurser.

Kjør følgende kommando og erstatt example.com med domenet ditt og dc=example,dc=com med LDAP-domenekontrolleren.

authconfig --enableldap --enableldapauth --ldapserver=ldap.example.com --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update

I kommandoen ovenfor oppretter --enablemkhomedir alternativet en lokal brukerhjemmekatalog ved den første tilkoblingen hvis ingen eksisterer.

Deretter tester du om LDAP-oppføringene for en bestemt bruker fra serveren, for eksempel bruker tecmint.

getent passwd tecmint

Kommandoen ovenfor skal vise detaljer om den angitte brukeren fra /etc/passwd-filen, noe som innebærer at klientmaskinen nå er konfigurert til å autentisere med LDAP-serveren.

Viktig: Hvis SELinux er aktivert på systemet ditt, må du legge til en regel for å tillate opprettelse av hjemmekataloger automatisk av mkhomedir.

For mer informasjon, se den aktuelle dokumentasjonen fra dokumentkatalogen for OpenLDAP Software.

Sammendrag

LDAP, er en mye brukt protokoll for å spørre og endre en katalogtjeneste. I denne veiledningen har vi vist hvordan du konfigurerer en LDAP-klient for å koble til en ekstern autentiseringskilde i Ubuntu- og CentOS-klientmaskiner. Du kan legge igjen spørsmål eller kommentarer du måtte ha ved å bruke tilbakemeldingsskjemaet nedenfor.