Sådan konfigureres LDAP-klient til at forbinde ekstern godkendelse


LDAP (forkortelse for Lightweight Directory Access Protocol) er et industristandard, udbredt sæt protokoller til adgang til bibliotekstjenester.

En bibliotekstjeneste i enkle vendinger er en centraliseret, netværksbaseret database optimeret til læseadgang. Den gemmer og giver adgang til information, der enten skal deles mellem applikationer eller er stærkt distribueret.

Directory-tjenester spiller en vigtig rolle i udviklingen af intranet- og internetapplikationer ved at hjælpe dig med at dele oplysninger om brugere, systemer, netværk, applikationer og tjenester i hele netværket.

En typisk brugssag for LDAP er at tilbyde en central lagring af brugernavne og adgangskoder. Dette giver forskellige applikationer (eller tjenester) mulighed for at oprette forbindelse til LDAP-serveren for at validere brugere.

Efter opsætning af en fungerende LDAP-server skal du installere biblioteker på klienten for at oprette forbindelse til den. I denne artikel viser vi, hvordan du konfigurerer en LDAP-klient til at oprette forbindelse til en ekstern godkendelseskilde.

Jeg håber, du allerede har et fungerende LDAP-servermiljø, hvis ikke opsætning af LDAP-server til LDAP-baseret godkendelse.

Sådan installeres og konfigureres LDAP-klient i Ubuntu og CentOS

På klientsystemerne skal du installere et par nødvendige pakker for at få godkendelsesmekanismen til at fungere korrekt med en LDAP-server.

Start først med at installere de nødvendige pakker ved at køre følgende kommando.

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

Under installationen bliver du bedt om at få oplysninger om din LDAP-server (angiv værdierne i henhold til dit miljø). Bemærk, at ldap-auth-config-pakken, der er automatisk installeret, udfører mest af konfigurationerne baseret på de input, du indtaster.

Indtast derefter navnet på LDAP-søgebasen, du kan bruge komponenterne i deres domænenavne til dette formål som vist på skærmbilledet.

Vælg også den LDAP-version, der skal bruges, og klik på Ok.

Konfigurer nu indstillingen, så du kan oprette adgangskodehjælpeprogrammer, der bruger pam til at opføre sig som om du ville ændre lokale adgangskoder, og klik på Ja for at fortsætte ..

Deaktiver derefter loginkrav til LDAP-databasen ved hjælp af den næste mulighed.

Definer også LDAP-konto til root, og klik på Ok.

Indtast derefter den adgangskode, der skal bruges, når ldap-auth-config forsøger at logge ind på LDAP-biblioteket ved hjælp af LDAP-kontoen til root.

Resultaterne af dialogen gemmes i filen /etc/ldap.conf. Hvis du vil foretage ændringer, skal du åbne og redigere denne fil ved hjælp af din foretrukne kommandolinjeditor.

Konfigurer derefter LDAP-profilen til NSS ved at køre.

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

Konfigurer derefter systemet til at bruge LDAP til godkendelse ved at opdatere PAM-konfigurationer. I menuen skal du vælge LDAP og andre godkendelsesmekanismer, du har brug for. Du skal nu kunne logge på ved hjælp af LDAP-baserede legitimationsoplysninger.

$ sudo pam-auth-update

Hvis du vil have, at brugerens hjemmebibliotek oprettes automatisk, skal du udføre endnu en konfiguration i PAM-filen med fælles session.

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

Tilføj denne linje i den.

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

Gem ændringerne, og luk filen. Genstart derefter NCSD-tjenesten (Name Service Cache Daemon) med følgende kommando.

$ sudo systemctl restart nscd
$ sudo systemctl enable nscd

Bemærk: Hvis du bruger replikering, skal LDAP-klienter henvise til flere servere, der er specificeret i /etc/ldap.conf. Du kan angive alle serverne i denne form:

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

Dette indebærer, at anmodningen udløber, og hvis udbyderen (ldap1.example.com) ikke reagerer, vil forbrugeren (ldap2.example.com) forsøge at blive nået til at behandle den.

For at kontrollere LDAP-poster for en bestemt bruger fra serveren skal du f.eks. Køre getent-kommandoen.

$ getent passwd tecmint

Hvis ovenstående kommando viser detaljer om den angivne bruger fra/etc/passwd-filen, er din klientmaskine nu konfigureret til at godkende med LDAP-serveren, skal du være i stand til at logge på ved hjælp af LDAP-baserede legitimationsoplysninger.

Konfigurer LDAP-klient i CentOS 7

For at installere de nødvendige pakker skal du køre følgende kommando. Bemærk, at hvis du bruger systemet som en ikke-root-administrativ bruger, skal du bruge sudo-kommandoen til at køre alle kommandoer i dette afsnit.

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

Derefter skal klientsystemet godkendes ved hjælp af LDAP. Du kan bruge værktøjet authconfig, som er en grænseflade til konfiguration af systemgodkendelsesressourcer.

Kør følgende kommando, og erstat example.com med dit domæne og dc = eksempel, dc = com med din LDAP-domænecontroller.

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

I ovenstående kommando opretter indstillingen --enablemkhomedir et lokalt brugerhjemmemappe ved den første forbindelse, hvis der ikke findes nogen.

Test derefter, om LDAP-posterne for en bestemt bruger fra serveren, for eksempel brugertekst.

$ getent passwd tecmint

Ovenstående kommando skal vise detaljer om den angivne bruger fra/etc/passwd-filen, hvilket betyder, at klientmaskinen nu er konfigureret til at godkende med LDAP-serveren.

Vigtigt: Hvis SELinux er aktiveret på dit system, skal du tilføje en regel for at oprette hjemmapper automatisk af mkhomedir.

For yderligere information, se den relevante dokumentation fra OpenLDAP-softwarekataloget.

LDAP, er en meget anvendt protokol til forespørgsel og ændring af en katalogtjeneste. I denne vejledning har vi vist, hvordan man konfigurerer en LDAP-klient til at oprette forbindelse til en ekstern godkendelseskilde i Ubuntu- og CentOS-klientmaskiner. Du kan efterlade eventuelle spørgsmål eller kommentarer ved hjælp af feedbackformularen nedenfor.