Hvordan autentisere en Linux -bruker ved hjelp av Microsoft Active Directory

Hvordan autentisere en Linux -bruker ved hjelp av Microsoft Active Directory
Active Directory (AD) er Microsofts katalogtjeneste, og den er mye brukt til å konsolidere Windows og Linux -godkjenning i et hybridnettverk som kjører på begge operativsystemene.

Hva vil vi snakke om?

I denne artikkelen får vi se hvordan du autentiserer en Linux -bruker ved hjelp av Microsoft Active Directory. For denne opplæringen bruker vi Windows 2016 -serveren og Ubuntu 20.04 OS.

Forutsetninger:

  1. Vi vil ikke gå i detalj om den aktive katalogen, inkludert dens funksjonalitet, oppsett og vedlikehold. For denne guiden vil vi anta at du vet hvordan du konfigurerer et Active Directory -domene, og at du har tilgang til den nødvendige legitimasjonen.
  2. Domenekontrolleren, Windows Server 2016 i dette tilfellet, er konfigurert som en primær og autoritativ DNS -resolver for domenet.
  3. Tiden er riktig satt opp og synkroniseres på begge systemene. Det kan oppnås via tjenester som Chrony eller NTP.
  4. For opplæringen vår bruker vi MyCompany.Lokalt domene.

Konfigurere vertsnavnet til klienten

Først konfigurerer vi Ubuntus vertsnavn for å peke på Active Directory -domenet. La oss for eksempel ta det som myubuntu.mitt selskap.lokal. Endre nå vertsnavn -filen som følger:

$ sudo ekko myubuntu.mitt selskap.Lokal> /etc /hostname

Merk: Vi kan ikke bruke vertsnavnet som localhost da det peker på 127.0.0.1.

Endre /etc /hosts -filen

Nå, åpne /etc /hosts -filen og spesifiser IP -adressen til vår klient med sin domenekontrollerspesifikke vertsnavn:

Endre /etc /resolv.Conf -fil

DNS -spørringen skal først nå domenekontrolleren på vår klientmaskin. Dette kan oppnås ved hjelp av resolv.Conf -fil. Imidlertid oppdateres denne filen automatisk når du starter klienten på nytt. Følgelig forsvinner alle dine manuelle redigeringer.

Interessant nok kan vi løse denne oppførselen ved hjelp av Resolvconf -pakken. Gå til denne lenken for å fikse resolv.Conf -problem.

Oppsettet av Resolv.Conf -fil i vårt tilfelle er som følger:

Tidssynkronisering

Unix og Linux -systemer er avhengige av nettverkstidsprotokollen (NTP) for deres tidssynkroniseringsbehov. Når det gjelder Ubuntu, er det sentrert rundt standard NTP -serveren på ntp.Ubuntu.com. Hvis du vil at Ubuntu -maskinen skal synkronisere perfekt med Active Directory -kontrolleren, kan du ikke stole på en ekstern tidskilde. Så det du trenger å gjøre er å konfigurere Ubuntu -maskinen din til å bruke Active Directory -kontrolleren som NTP -serveren. Du kan utføre denne oppgaven ved å installere og konfigurere en tjeneste som NTP eller Chrony.

Merk: Før vi kan fortsette til neste trinn med å legge til Ubuntu -systemklienten til Active Directory -domenet, må du teste nettverkstilkoblingen mellom dem. Vi kan gjøre dette ved å pinge domenenavnet og Active Directory DNS -navn:

$ ping mycompany.lokal
$ ping win-2rifamt88gr.mitt selskap.lokal

Å ha en pålitelig DNS- og vertsnavnoppløsning er avgjørende.

Installere RealMD -pakken

Nå installerer vi RealMD -pakken og bestemmer om vi allerede er en del av Active Directory -domenet. Vi skulle ikke ha noe domenemedlemskap siden RealMD ikke tidligere var installert:

$ sudo apt install realmd

Kjør nå følgende kommando:

$ REALM -liste

Her indikerer et tomt resultat at verten ikke er koblet til Active Directory Domain Service ennå.

Oppdage domenet

Fortsetter vi, oppdager vi nå vårt måldomene ved å bruke følgende kommando:

$ REALM Discover MyCompany.lokal

Erstatt MyCompany.Lokalt med domenenavnet ditt. Utgangen skal være noe som følgende:

MITT SELSKAP.Lokal
Type: Kerberos
Realm-Name: MyCompany.Lokal
Domenenavn: MyCompany.lokal
Konfigurert: Kerberos-medlem
Server-programvare: Aktiv-direkte
Klient-programvare: SSSD
Nødvendig pakking: SSSD-verktøy
Nødvendig pakke: SSSD
Nødvendig pakke: Libnss-SSS
Nødvendig pakk: Libpam-SSS
Nødvendig pakke: ADCLI
Nødvendig pakke: Samba-Common-Bin
Innloggingsformater: %[email protected]
Innloggingspolicy: Tillat-Realm-Logins

Spesielt spesifiserer utgangen de nødvendige pakkene for å bli med i domenet. Også dette sjekker de mest treffende pakkene som skal installeres med SSSD.

Installere pakkene og bli med på domenet

La oss installere de forrige pakkene:

$ sudo apt install sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin

Nå, for å bli med i AD (Active Directory) -domenet og sette opp SSSD, bruker vi Realm -kommandoen igjen:

$ sudo realm bli med på mycompany.lokal

Skriv inn passordet for administratoren når det blir bedt om det. Du kan også spesifisere en annen konto ved hjelp av -u -flagget:

Hvis du kjører Realm List -kommandoen igjen, vil du se utdataene som følger:

Vi trenger ikke å berøre SSSD -konfigurasjonen siden dette allerede er administrert av Realm Tool.

Opprette hjemmekatalogen

En ting vi trenger å gjøre selv er å angi hjemmekatalogen for at annonsebrukerne skal logge inn vår klientmaskin. Dette kan gjøres med følgende kommando:

$ sudo pam-auth-update-ANSIBLE MKHOMEDIR

Tilsvarende kan vi hente detaljene til disse annonsebrukerne ved å bruke følgende kommando:

$ getent passwd [email protected]

Vi kan også spesifisere de andre brukerne med deres komplette navn. For eksempel:

$ getent passwd [email protected]

Logger med annonsebrukerkontoer

Endelig kan vi logge inn med annonsebrukerkontoen:

$ sudo pålogging

Dette ber deg om å legge inn detaljene til annonsebrukeren: deres brukernavn og passord. Når du logger inn vellykket, ser du følgende skjermbilde:

Spesielt opprettes hjemmekatalogen automatisk her:

Konklusjon

Vi lærte nå hvordan du legger en Linux -vertsklient til en Windows -server. Man kan få fordelene med begge systemene ved å integrere Linux til et eksisterende Active Directory -domene. Hvis du har mer enn fem systemer, kan du vurdere å administrere dem med en katalogtjeneste.