Eseguire il join su Active Directory da Ubuntu Server 14.04
Avviso: Sto notando che nonostante l’integrazione ed il login con i permessi del dominio funzionino quello che non va tanto sono le condivisioni Samba, nel senso che funzionano solo se prima è stato effettuato almeno un login locale, gli utenti con i quali non è stato effettuato il login locale non riescono ad accedere alle condivisioni Samba.
Nota: Riprendo l’articolo già scritto Eseguire il join su Active Directory da Ubuntu Server e lo adatto alla prova fatta con Ubuntu Server 14.04, ad esempio per creare un server NAS, in quanto il pacchetto PowerBroker Identity Services Open ( PBIS ) pare avere seri problemi con l’integrazione con Samba 4.
Per questa operazione userò l’autenticazione Kerberos e i pacchetti realmd e sssd presenti nei repository ufficiali.
Nella prova ho usato la versione Ubuntu Server LTS 14.04.3.
Nota: onde evitare eventuali problemi di utenza o di profilo si consiglia di avere un utente locale diverso dall’utente di dominio.
Si installano i pacchetti necessari:
| 1 | sudo apt-get install krb5-user realmd sssd sssd-tools adcli samba-common-bin | 
Verrà richiesto molto probabilmente il dominio da usare in Kerberos, basta metterlo maiuscolo ( es. DOMAIN.LOC ), nell’eventualità non venisse richiesto serve andare poi a editare a mano il file /etc/krb5.conf.
Per testare se l’autenticazione funziona, proviamo ad aprire un tiket con l’utente amministratore di dominio:
| 1 | sudo kinit administrator@DOMAIN.LOC | 
Per verificare che il ticket sia stato rilasciato basta eseguire:
| 1 | sudo klist | 
Ora si passa a configurare realmd, si deve editare il suo file di configurazione in /etc/realmd.conf, nel mio caso però il file non esisteva e ho dovuto crearlo:
| 1 2 3 4 5 6 7 8 9 10 11 | [service] automatic-install = no [users] default-home = /home/%D/%U default-shell = /bin/bash [domain.loc] computer-ou = DC=domain,DC=loc automatic-id-mapping = yes fully-qualified-names = no | 
Si controlla se il dominio viene rilevato:
| 1 | sudo realm discover domain.loc | 
Se è tutto corretto si può procedere all’associazione:
| 1 | sudo realm join domain.loc | 
Se tutto va come dovrebbe si può poi ad esempio ottenere la lista degli amministratori di dominio:
| 1 | sudo getent group 'Domain Admins' | 
Ora è possibile eseguire il login alla macchina utilizzando gli utenti di dominio, volendo è possibile anche limitare l’accesso e decidere chi solo può accedere:
| 1 2 3 | sudo realm deny --all sudo realm permit administrator sudo realm permit -g 'Domain Admins' | 
Per far creare la cartella home al primo accesso occorre modificare il file /etc/pam.d/common-session aggiungendo la riga:
| 1 | session required      pam_mkhomedir.so  skel=/etc/skel umask=0022 | 
Per configurare Samba si edita il file smb.conf, e si impostano poi i seguenti parametri:
| 1 2 3 4 5 6 7 8 9 10 11 | [global]    workgroup = DOMAIN [share]    path = /path/to/share    read list = @"Domain Users@DOMAIN.LOC"    write list = user@DOMAIN.LOC,@"group@DOMAIN.LOC"    valid users = user@DOMAIN.LOC,@"group@DOMAIN.LOC",@"Domain Users@DOMAIN.LOC"    writeable = yes    public = yes    browsable = yes | 
Dopo volendo è possibile anche dare ad un utente o ad un gruppo di dominio i diritti di sudo, si esegue il comando visudo e si aggiunge a fine file (qui i nomi utente e gruppi vanno senza @DOMAIN.LOC):
| 1 2 | user ALL=(ALL:ALL) ALL %group ALL=(ALL:ALL) ALL | 
Al termine delle operazione è consigliato un riavvio della macchina, dopodichè è possibile eseguire il login come utente di dominio.
Per maggiori informazioni rimando alla documentazione ufficiale e all’articolo da cui ho preso spunto: