Ricerca nel sito web

Integra Ubuntu in Samba4 AD DC con SSSD e Realm - Parte 15


Questo tutorial ti guiderà su come unire una macchina Ubuntu Desktop a un dominio Samba4 Active Directory con SSSD e Realmd servizi per autenticare gli utenti rispetto ad Active Directory.

Requisiti:

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

Passaggio 1: configurazioni iniziali

1. Prima di iniziare ad unire Ubuntu in Active Directory assicurati che il nome host sia configurato correttamente. Utilizza il comando hostnamectl per impostare il nome della macchina o modificare manualmente il file /etc/hostname.

sudo hostnamectl set-hostname your_machine_short_hostname
cat /etc/hostname
hostnamectl

2. Nel passaggio successivo, modifica le impostazioni dell'interfaccia di rete della macchina e aggiungi le configurazioni IP corrette e gli indirizzi corretti del server IP DNS in modo che puntino al controller di dominio Samba AD come illustrato nello screenshot seguente.

Se hai configurato un server DHCP presso la tua sede per assegnare automaticamente le impostazioni IP alle tue macchine LAN con gli indirizzi IP DNS AD corretti, puoi saltare questo passaggio e andare avanti.

Nello screenshot sopra, 192.168.1.254 e 192.168.1.253 rappresentano gli indirizzi IP dei controller di dominio Samba4.

3. Riavvia i servizi di rete per applicare le modifiche utilizzando la GUI o dalla riga di comando ed emetti una serie di comandi ping sul tuo nome di dominio per verificare se la risoluzione DNS è funzionando come previsto. Inoltre, utilizza il comando host per testare la risoluzione DNS.

sudo systemctl restart networking.service
host your_domain.tld
ping -c2 your_domain_name
ping -c2 adc1
ping -c2 adc2

4. Infine, assicurati che l'ora della macchina sia sincronizzata con Samba4 AD. Installa il pacchetto ntpdate e sincronizza l'ora con AD immettendo i comandi seguenti.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Passaggio 2: installare i pacchetti richiesti

5. In questo passaggio installa il software necessario e le dipendenze richieste per unire Ubuntu a Samba4 AD DC: servizi Realmd e SSSD.

sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6. Inserisci il nome dell'area predefinita in maiuscolo e premi il tasto Invio per continuare l'installazione.

7. Successivamente, crea il file di configurazione SSSD con il seguente contenuto.

sudo nano /etc/sssd/sssd.conf

Aggiungi le seguenti righe al file sssd.conf.

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

Assicurati di sostituire di conseguenza il nome di dominio nei seguenti parametri:

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8. Successivamente, aggiungi le autorizzazioni appropriate per il file SSSD emettendo il comando seguente:

sudo chmod 700 /etc/sssd/sssd.conf

9. Ora apri e modifica il file di configurazione Realmd e aggiungi le seguenti righe.

sudo nano /etc/realmd.conf

Estratto del file Realmd.conf:

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10. L'ultimo file che devi modificare appartiene al demone Samba. Apri il file /etc/samba/smb.conf per modificarlo e aggiungi il seguente blocco di codice all'inizio del file, dopo la sezione [global] come illustrato nella immagine qui sotto.

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

Assicurati di sostituire il valore del nome dominio, in particolare il valore realm in modo che corrisponda al tuo nome di dominio ed esegui il comando testparm per verificare se la configurazione il file non contiene errori.

sudo testparm

11. Dopo aver apportato tutte le modifiche richieste, testa l'autenticazione Kerberos utilizzando un account amministrativo AD ed elenca il ticket emettendo i comandi seguenti.

sudo kinit [email 
sudo klist

Passaggio 3: unisciti a Ubuntu a Samba4 Realm

12. Per unire la macchina Ubuntu a Samba4 Active Directory, eseguire la serie di comandi illustrati di seguito. Utilizzare il nome di un account AD DC con privilegi di amministratore affinché l'associazione all'area di autenticazione funzioni come previsto e sostituire di conseguenza il valore del nome di dominio.

sudo realm discover -v DOMAIN.TLD
sudo realm list
sudo realm join TECMINT.LAN -U ad_admin_user -v
sudo net ads join -k

13. Dopo aver effettuato l'associazione del dominio, esegui il comando seguente per assicurarti che tutti gli account di dominio siano autorizzati ad autenticarsi sulla macchina.

sudo realm permit --all

Successivamente, puoi consentire o negare l'accesso per un account utente di dominio o un gruppo utilizzando il comando realm come presentato negli esempi seguenti.

sudo realm deny -a
realm permit --groups ‘domain.tld\Linux Admins’
realm permit [email 
realm permit DOMAIN\\User2

14. Da un computer Windows con gli strumenti RSAT installati è possibile aprire AD UC e accedere al contenitore Computer e verificare se è presente un account oggetto con il nome della tua macchina è stato creato.

Passaggio 4: configurare l'autenticazione degli account AD

15. Per autenticarsi su una macchina Ubuntu con account di dominio è necessario eseguire il comando pam-auth-update con privilegi di root e abilitare tutti i profili PAM inclusa l'opzione per creare automaticamente directory home 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

16. Sui sistemi modifica manualmente il file /etc/pam.d/common-account e la riga seguente per creare automaticamente case per gli utenti del dominio autenticati.

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

17. Se gli utenti di Active Directory non possono modificare la propria password dalla riga di comando in Linux, aprire il file /etc/pam.d/common-password e rimuovere il file use_authtok dalla riga della password per apparire finalmente come nell'estratto seguente.

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

18. Infine, riavvia e abilita il servizio Realmd e SSSD per applicare le modifiche emettendo i comandi seguenti:

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Per verificare se la macchina Ubuntu è stata integrata con successo in realm, esegui l'installazione del pacchetto winbind ed esegui il comando wbinfo per elencare gli account e i gruppi di dominio come illustrato di seguito.

sudo apt-get install winbind
wbinfo -u
wbinfo -g

20. Inoltre, controlla il modulo Winbind nsswitch emettendo il comando getent contro un utente o un gruppo di dominio specifico.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. Puoi anche utilizzare il comando id di Linux per ottenere informazioni su un account AD come illustrato nel comando seguente.

id tecmint_user

22. Per autenticarsi sull'host Ubuntu con un account Samba4 AD utilizzare il parametro nome utente 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 vedere la directory di lavoro corrente dell'utente del dominio e il comando passwd se desideri modificare la password.

23. 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 [email 

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

24. 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 .

%domain\ [email        		 ALL=(ALL:ALL) ALL

25. Per utilizzare l'autenticazione dell'account di dominio per Ubuntu Desktop, modificare il display manager LightDM modificando /usr/share/lightdm/lightdm.conf.d/50-ubuntu. conf, aggiungi le due righe seguenti e riavvia il servizio lightdm o riavvia la macchina per applicare le modifiche.

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

Accedi a Ubuntu Desktop con un account di dominio utilizzando la sintassi tuo_nome_utente_dominio o tuo_nome_utente_dominio@tuo_dominio.tld.

26. Per utilizzare il formato del nome breve per gli account Samba AD, modifica il file /etc/sssd/sssd.conf, aggiungi la seguente riga in [sssd] bloccare come illustrato di seguito.

full_name_format = %1$s

e riavviare il demone SSSD per applicare le modifiche.

sudo systemctl restart sssd

Noterai che il prompt bash cambierà nel nome breve dell'utente AD senza aggiungere la controparte del nome di dominio.

27. Nel caso in cui non sia possibile accedere a causa dell'argomento enumerate=true impostato in sssd.conf è necessario cancellare il database memorizzato nella cache sssd immettendo il comando seguente :

rm /var/lib/sss/db/cache_tecmint.lan.ldb

È tutto! Sebbene questa guida sia principalmente focalizzata sull'integrazione con una Active Directory Samba4, gli stessi passaggi possono essere applicati per integrare Ubuntu con i servizi Realmd e SSSD in una Active Directory di Microsoft Windows Server.