Come autenticare un utente Linux utilizzando Microsoft Active Directory

Come autenticare un utente Linux utilizzando Microsoft Active Directory
Active Directory (AD) è il servizio di directory di Microsoft ed è ampiamente utilizzato per consolidare l'autenticazione di Windows e Linux in una rete ibrida che funziona su entrambi i sistemi operativi.

Di cosa parleremo?

In questo articolo, vedremo come autenticare un utente Linux utilizzando Microsoft Active Directory. Per questo tutorial, utilizziamo Windows 2016 Server e Ubuntu 20.04 OS.

Prerequisiti:

  1. Non entreremo nei dettagli della Active Directory, compresa la sua funzionalità, configurazione e manutenzione. Per questa guida, supponiamo che tu sappia come configurare un dominio Active Directory e hai accesso alle credenziali richieste.
  2. Il controller di dominio, Windows Server 2016 in questo caso, è configurato come resolver DNS primario e autorevole per il dominio.
  3. Il tempo è impostato correttamente e sincronizzato su entrambi i sistemi. Può essere realizzato tramite servizi come Chrony o NTP.
  4. Per il nostro tutorial, usiamo MyCompany.dominio locale.

Configurazione del nome host del client

Innanzitutto, configuriamo il nome host di Ubuntu per indicare il dominio Active Directory. Ad esempio, prendiamolo come myubuntu.la mia compagnia.Locale. Ora, modifica il file host come segue:

$ sudo echo myubuntu.la mia compagnia.locale> /etc /hostname

Nota: Non possiamo usare il nome host come localhost in quanto punta a 127.0.0.1.

Modifica del file /etc /host

Ora, apri il file /etc /host e specifica l'indirizzo IP del nostro client con il suo nome host specifico per controller di dominio:

Modifica /etc /resolv.Conf File

La query DNS dovrebbe prima raggiungere il controller di dominio sulla nostra macchina client. Questo può essere realizzato usando il resolv.Conf File. Tuttavia, questo file viene automaticamente aggiornato quando si riavvia il client. Di conseguenza, tutte le tue modifiche manuali svaniranno.

È interessante notare che possiamo risolvere questo comportamento usando il pacchetto ResolvConf. Vai a questo link per correggere il risoluto.Conf. questione.

La ricerca di Resolv.Il file conf nel nostro caso è il seguente:

Sincronizzazione del tempo

I sistemi UNIX e Linux si basano sul protocollo temporale di rete (NTP) per le loro esigenze di sincronizzazione del tempo. Quando si tratta di Ubuntu, è incentrato sul server NTP predefinito su ntp.Ubuntu.com. Se vuoi che la tua macchina Ubuntu si sincronizza perfettamente con il controller Active Directory, non puoi fare affidamento su una fonte di temporizzazione esterna. Quindi, quello che devi fare è configurare la tua macchina Ubuntu per utilizzare il controller Active Directory come server NTP. È possibile eseguire questa attività installando e configurando un servizio come NTP o Chrony.

Nota: Prima di poter continuare al passaggio successivo per aggiungere il nostro client di sistema Ubuntu al dominio Active Directory, testare la connettività di rete tra loro. Possiamo farlo pinging il nome del dominio e il nome DNS di Active Directory:

$ ping mycompany.Locale
$ ping win-2rifamt88gr.la mia compagnia.Locale

Avere una risoluzione DNS e nome host affidabile è cruciale.

Installazione del pacchetto Realmd

Ora, installiamo il pacchetto Realmd e determiniamo se facciamo già parte del dominio Active Directory. Non dovremmo avere alcuna abbonamento a dominio poiché Realmd non era precedentemente installato:

$ sudo APT Installa Realmd

Ora, esegui il seguente comando:

$ Elenco Realm

Qui, un risultato vuoto indica che l'host non è ancora collegato al servizio di dominio Active Directory.

Scoprire il dominio

Andando avanti, ora scopriamo il nostro dominio target usando il seguente comando:

$ Realm Scopri MyCompany.Locale

Sostituisci MyCompany.locale con il tuo nome di dominio. L'output dovrebbe essere qualcosa di simile al seguente:

LA MIA COMPAGNIA.LOCALE
Tipo: Kerberos
Realm-Name: MyCompany.LOCALE
Domain-nome: mycompany.Locale
Configurato: Kerberos-Member
Server-Software: attivo-directory
Software client: SSSD
Package richiesto:-tools SSSD
Package richiesto: SSSD
Package richiesto: Libnss-SSS
Pacchetto richiesto: Libpam-SSS
Package richiesto: Adcli
Pacchetto richiesto: Samba-Common-Bin
Formati di accesso: %[email protected]
Policy di accesso: consentire-logins

In particolare, l'output specifica i pacchetti richiesti per unirsi al dominio. Inoltre, questo controlla i pacchetti più apt da installare con SSSD.

Installazione dei pacchetti e unire il dominio

Installiamo i pacchetti precedenti:

$ sudo apt installa sssd sssd-tools libnss-ss libpam-sss adcli samba-mmon-bin

Ora, per unire il dominio AD (Active Directory) e impostare SSSD, usiamo di nuovo il comando Realm:

$ sudo Realm unisciti a mycompany.Locale

Immettere la password per l'amministratore quando richiesto. Inoltre, è possibile specificare un altro account utilizzando il flag -u:

Se esegui di nuovo il comando Elenco Realm, vedrai l'output come segue:

Non abbiamo bisogno di toccare la configurazione SSSD poiché questa è già gestita dallo strumento Realm.

Creare la home directory

Una cosa che dobbiamo fare da soli è impostare la directory home affinché gli utenti pubblicitari accedano la nostra macchina client. Questo può essere fatto con il seguente comando:

$ sudo pam-auth-update -enable mkhomedir

Allo stesso modo, possiamo recuperare i dettagli di questi utenti di annunci utilizzando il seguente comando:

$ getent passwd [email protected]

Possiamo anche specificare gli altri utenti con il loro nome completo. Per esempio:

$ getent passwd [email protected]

Registrazione con gli account degli utenti pubblicitari

Infine, possiamo accedere con l'account per utenti pubblicitari:

$ sudo login

Questo ti chiede di inserire i dettagli dell'utente AD: il loro nome utente e password. Quando accedi correttamente, vedrai la seguente schermata:

In particolare, la directory home viene creata automaticamente qui:

Conclusione

Ora abbiamo imparato come aggiungere un client host Linux a un server Windows. Si possono ottenere i vantaggi di entrambi i sistemi integrando Linux in un dominio Active Directory esistente. Se hai più di cinque sistemi, considera di gestirli con un servizio di directory.