Ricerca nel sito web

Integra Ubuntu 16.04 in AD come membro del dominio con Samba e Winbind - Parte 8


Questo tutorial descrive come unire una macchina Ubuntu a un dominio Samba4 Active Directory per autenticare gli account AD con ACL locale per file e directory o per creare e mappare condivisioni di volume per gli utenti del controller di dominio (fungere come file server).

Requisiti:

  1. Crea un'infrastruttura Active Directory con Samba4 su Ubuntu

Passaggio 1: configurazioni iniziali per unire Ubuntu a Samba4 AD

1. Prima di iniziare a unire un host Ubuntu a un Active Directory DC devi assicurarti che alcuni servizi siano configurati correttamente sul computer locale.

Un aspetto importante della tua macchina rappresenta il nome host. Imposta un nome macchina corretto prima di unirti al dominio con l'aiuto del comando hostnamectl o modificando manualmente il file /etc/hostname.


hostnamectl set-hostname your_machine_short_name
cat /etc/hostname
hostnamectl

2. Nel passaggio successivo, apri e modifica manualmente le impostazioni di rete della macchina con le configurazioni IP corrette. Le impostazioni più importanti qui sono gli indirizzi IP DNS che puntano al tuo controller di dominio.

Modifica il file /etc/network/interfaces e aggiungi l'istruzione dns-nameservers con gli indirizzi IP AD e il nome di dominio corretti, come illustrato nello screenshot seguente.

Inoltre, assicurati che gli stessi indirizzi IP DNS e il nome di dominio siano aggiunti al file /etc/resolv.conf.

Nello screenshot sopra, 192.168.1.254 e 192.168.1.253 sono gli indirizzi IP di Samba4 AD DC e Tecmint.lan< rappresenta il nome del dominio AD che verrà interrogato da tutte le macchine integrate nel realm.

3. Riavviare i servizi di rete o riavviare la macchina per applicare le nuove configurazioni di rete. Emetti un comando ping sul tuo nome di dominio per verificare se la risoluzione DNS funziona come previsto.

L'AD DC deve riprodurre con il relativo FQDN. Se hai configurato un server DHCP nella tua rete per assegnare automaticamente le impostazioni IP per gli host LAN, assicurati di aggiungere gli indirizzi IP AD DC alle configurazioni DNS del server DHCP.


systemctl restart networking.service
ping -c2 your_domain_name

4. L'ultima importante configurazione richiesta è rappresentata dalla sincronizzazione dell'ora. Installa il pacchetto ntpdate, esegui query e sincronizza l'ora con AD DC immettendo i comandi seguenti.


sudo apt-get install ntpdate
sudo ntpdate -q your_domain_name
sudo ntpdate your_domain_name

5. Nel passaggio successivo installa il software richiesto dalla macchina Ubuntu per essere completamente integrato nel dominio eseguendo il comando seguente.


sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

Durante l'installazione dei pacchetti Kerberos ti dovrebbe essere chiesto di inserire il nome del tuo realm predefinito. Utilizza il nome del tuo dominio in maiuscolo e premi il tasto Invio per continuare l'installazione.

6. Al termine dell'installazione di tutti i pacchetti, testa l'autenticazione Kerberos rispetto a un account amministrativo AD ed elenca il ticket immettendo i comandi seguenti.


kinit ad_admin_user
klist

Passaggio 2: unisciti a Ubuntu a Samba4 AD DC

7. Il primo passo per integrare la macchina Ubuntu nel dominio Samba4 Active Directory è modificare il file di configurazione di Samba.

Eseguire il backup del file di configurazione predefinito di Samba, fornito dal gestore pacchetti, per iniziare con una configurazione pulita eseguendo i seguenti comandi.


mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
nano /etc/samba/smb.conf 

Nel nuovo file di configurazione di Samba aggiungi le righe seguenti:


[global]
        workgroup = TECMINT
        realm = TECMINT.LAN
        netbios name = ubuntu
        security = ADS
        dns forwarder = 192.168.1.1

idmap config * : backend = tdb        
idmap config *:range = 50000-1000000
	
   template homedir = /home/%D/%U
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind nss info = rfc2307
   winbind enum users = yes
   winbind enum groups = yes

  vfs objects = acl_xattr
  map acl inherit = Yes
  store dos attributes = Yes

Sostituisci le variabili workgroup, realm, nome netbios e dns forwarder con le tue impostazioni personalizzate.

Il parametro winbind usa dominio predefinito fa sì che il servizio winbind tratti tutti i nomi utente AD non qualificati come utenti di AD. Dovresti omettere questo parametro se disponi di nomi di account di sistema locali che si sovrappongono agli account AD.

8. Ora dovresti riavviare tutti i demoni Samba, interrompere e rimuovere i servizi non necessari e abilitare i servizi Samba a livello di sistema emettendo i comandi seguenti.


sudo systemctl restart smbd nmbd winbind
sudo systemctl stop samba-ad-dc
sudo systemctl enable smbd nmbd winbind

9. Unisci la macchina Ubuntu a Samba4 AD DC immettendo il seguente comando. Utilizzare il nome di un account AD DC con privilegi di amministratore affinché l'associazione all'area di autenticazione funzioni come previsto.


sudo net ads join -U ad_admin_user

10. Da un computer Windows con gli strumenti RSAT installati è possibile aprire AD UC e passare al contenitore Computer. Qui dovrebbe essere elencato il tuo computer collegato a Ubuntu.

Passaggio 3: configurare l'autenticazione degli account AD

11. Per eseguire l'autenticazione per gli account AD sul computer locale, è necessario modificare alcuni servizi e file sul computer locale.

Innanzitutto, apri e modifica il file di configurazione The Name Service Switch (NSS).


sudo nano /etc/nsswitch.conf

Successivamente aggiungi il valore winbind per le linee passwd e group come illustrato nell'estratto seguente.


passwd:         compat winbind
group:          compat winbind

12. Per verificare se la macchina Ubuntu è stata integrata con successo nel realm, eseguire il comando wbinfo per elencare account e gruppi di dominio.


wbinfo -u
wbinfo -g

13. Inoltre, controlla il modulo Winbind nsswitch emettendo il comando getent e convoglia i risultati attraverso un filtro come grep per restringere l'output solo per utenti o gruppi di domini specifici.


sudo getent passwd| grep your_domain_user
sudo getent group|grep 'domain admins'

14. Per autenticarsi su una macchina Ubuntu con account di dominio è necessario eseguire il comando pam-auth-update con privilegi di root e aggiungere tutte le voci richieste per il servizio winbind e per crea automaticamente le home directory per ciascun account di dominio al primo accesso.

Controlla tutte le voci premendo il tasto [spazio] e premi ok per applicare la configurazione.


sudo pam-auth-update

15. Sui sistemi Debian è necessario modificare manualmente il file /etc/pam.d/common-account e la riga seguente per creare automaticamente le case per gli utenti del dominio autenticati.


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

16. Affinché gli utenti di Active Directory possano modificare la password dalla riga di comando in Linux, aprire /etc/pam.d/common-password file e rimuovi l'istruzione use_authtok dalla riga della password per avere finalmente l'aspetto dell'estratto seguente.


password       [success=1 default=ignore]      pam_winbind.so try_first_pass

17. Per autenticarsi sull'host Ubuntu con un account Samba4 AD utilizzare il parametro nome utente del dominio dopo il comando su. Esegui il comando id per ottenere informazioni aggiuntive sull'account AD.


su - your_ad_user

Utilizza il comando pwd per visualizzare la directory corrente dell'utente del tuo dominio e il comando passwd se desideri modificare la password.

18. Per utilizzare un account di dominio con privilegi root sul tuo computer Ubuntu, devi aggiungere il nome utente AD al gruppo di sistema sudo emettendo il comando seguente:


sudo usermod -aG sudo your_domain_user

Accedi a Ubuntu con l'account del dominio e aggiorna il tuo sistema eseguendo il comando apt-get update per verificare se l'utente del dominio ha i privilegi di root.

19. Per aggiungere i privilegi di root per un gruppo di dominio, apri e modifica il file /etc/sudoers utilizzando il comando visudo e aggiungi la seguente riga come illustrato nello screenshot qui sotto.


%YOUR_DOMAIN\\your_domain\  group       		 ALL=(ALL:ALL) ALL

Utilizza le barre rovesciate per evitare gli spazi contenuti nel nome del gruppo di dominio o per evitare la prima barra rovesciata. Nell'esempio precedente il gruppo di dominio per il realm TECMINT è denominato "domain admins ".

Il simbolo (%) precedente del segno di percentuale indica che ci riferiamo a un gruppo, non a un nome utente.

20. Nel caso in cui utilizzi la versione grafica di Ubuntu e desideri accedere al sistema con un utente di dominio, devi modificare il display manager di LightDM modificando /usr/share/lightdm /lightdm.conf.d/50-ubuntu.conf, aggiungi le seguenti righe e riavvia la macchina per riflettere le modifiche.


greeter-show-manual-login=true
greeter-hide-users=true

Ora dovrebbe essere in grado di eseguire accessi su Ubuntu Desktop con un account di dominio utilizzando il formato tuo_nome_utente_dominio o tuo_nome_utente_dominio@tuo_dominio.tld o tuo_dominio\tuo_nome_utente_dominio .