[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 212.   Accesso a GNU/Linux da parte di utenti di un dominio MS-Windows con Winbind

In precedenza, nel capitolo sull'impostazione di un servente Samba, è stato illustrato come integrare quest'ultimo in un dominio MS-Windows NT o in una active directory di MS-Windows 2000. In particolare si è visto come questo sia possibile impostando il livello di sicurezza al valore domain ed eseguendo un opportuno comando smbpasswd.

Grazie a Winbind, un nuovo strumento di Samba presente dalla versione 2.2.2, diventa addirittura possibile l'autenticazione degli utenti GNU/Linux (attenzione: utenti GNU/Linux, non utenti Samba) presso il domain controller windows. Ciò può essere molto utile in quei contesti in cui si vogliano inserire elaboratori con GNU/Linux in reti già consolidate su piattaforma MS-Windows, utilizzando le informazioni su utenti e gruppi preesistenti senza essere costretti a ridefinirle anche per le macchine GNU/Linux.

Winbind è costituito da un piccolo gruppo di componenti disponibili all'interno del pacchetto samba-common; in dettaglio ne fanno parte:

Il servizio NSSwitch è presente in tutte le moderne librerie C e permette di ottenere i dati relativi a utenti, gruppi e nodi, da varie fonti (ad esempio NIS, DNS, ecc.); Winbind diventa un'ulteriore fonte di informazioni per NSSwitch relativamente a utenti e gruppi di un dominio MS-Windows.

Il PAM è un sistema generalizzato per la gestione dei metodi di autenticazione per molteplici servizi (quelli per cui esistono le librerie PAM relative); grazie all'apposita libreria PAM, Winbind fornisce anche il servizio di autenticazione.

212.1   Configurazioni necessarie

212.1.1   smb.conf

Per configurare il servizio Winbind occorre intervenire innanzitutto nel file smb.conf inserendo le direttive seguenti:


   workgroup name = nome_dominio_NT
   encrypt password = yes
   security = domain
   password server = nome_PDC_WIN
; impostazioni per il demone winbindd
   winbind separator = +
   template shell = /bin/bash
   template homedir = /home/%D/%U
   winbind uid = 10000-20000
   winbind gid = 10000-20000
   winbind enum users = yes
   winbind enum groups = yes

Con winbind separator si imposta il carattere usato per ottenere il nome utente GNU/Linux dall'unione di nome di dominio e nome utente NT; il valore predefinito corrisponde a \, ma è sconsigliabile, in quanto ha un significato speciale nella shell di GNU/Linux; invece, la scelta del carattere + dovrebbe essere quella migliore.

Con template shell si imposta la shell degli utenti.

Con template homedir si definisce la directory personale degli utenti; nell'esempio si usano le variabili %D e %U in modo che ogni utente abbia come directory /home/nome_dominio_nt/nome_utente_nt.

winbind uid e winbind gid permettono di impostare gli intervalli di numeri di identificazione per utenti e gruppi che Winbind utilizza per riabbinare gli utenti e i gruppi MS-Windows a utenti e gruppi GNU/Linux.

winbind enum users e winbind enum groups permettono di attivare l'enumerazione di gruppi e utenti.

212.1.2   Modifiche ai file di configurazione dei moduli PAM

Le modifiche ai file di configurazione dei moduli PAM devono essere effettuate con molta attenzione in quanto errori in questa fase possono causare anche l'impossibilità di accedere. Può quindi essere opportuno fare una copia dei file interessati alle modifiche in modo da poter ripristinare la situazione precedente in ogni momento.

Maggiori informazioni sul funzionamento dei moduli PAM non possono essere fornite in questa sede; eventualmente si può consultare il capitolo 56.

Nel file /etc/pam.d/system-auth deve essere aggiunta la riga:


 
auth   sufficient   /usr/lib/security/pam_winbind.so

dopo la prima riga auth già presente e trasformata la riga:


 
auth   sufficient   /lib/security/pam_unix.so   likeauth   nullok 

in:


auth  sufficient  /lib/security/pam_unix.so  likeauth  nullok  use_first_pass

Nel file /etc/pam.d/login devono essere aggiunte le seguenti due righe, rispettivamente come prima riga account e come ultima riga session required:


account  sufficient /lib/security/pam_winbind.so
...
session  required   /lib/security/pam_mkhomedir.so  skel=/etc/skel/  umask=0022

L'ultima è molto importante in quanto permette la creazione automatica della directory personale dell'utente al primo accesso alla macchina GNU/Linux.

Riguardo la modifica al file system-auth occorre osservare che, essendo la sua configurazione usata, attraverso il modulo pam_stack, in molti altri file di configurazione dei moduli PAM (e non solo in login), sarebbe più opportuno lasciarlo invariato definendone uno nuovo con le modifiche e con nome leggermente diverso. Se si opta per questa scelta è ovvio che si devono modificare opportunamente i riferimenti al file system-auth contenuti nel file login.

212.1.3   Modifiche alla configurazione di NSSwitch

Nel file /etc/nsswitch.conf, contenente la configurazione del servizio NSSwitch, è necessario aggiungere Winbind tra le fonti dei dati relativi a utenti e gruppi. Ad esempio:


passwd:     files winbind
group:       files winbind 

L'ordine con cui vengono elencate le fonti è significativo e quindi è opportuno lasciare la priorità a files in modo che per primi siano interrogati i file di sistema (/etc/passwd e /etc/group).

212.2   Attivazione

Per prima cosa occorre inserire la macchina GNU/Linux nel dominio MS-Windows operando come illustrato nel capitolo relativo alla configurazione di un servente Samba, nel paragrafo sul livello di sicurezza domain (207.3.1.4).

Occorre poi avviare i servizi smb e winbind:

/etc/rc.d/init.d/smb start

/etc/rc.d/init.d/winbind start

Si può verificare il buon funzionamento di Winbind con i comandi:

wbinfo -u

wbinfo -g

con i quali si elencano rispettivamente utenti e gruppi del dominio MS-Windows.

Si possono usare anche i comandi:

getent passwd

getent group

per ottenere gli elenchi di tutti gli utenti e gruppi utilizzabili, sia quelli del dominio che quelli propri di GNU/Linux.

Infine si può procedere all'accreditamento sulla macchina GNU/Linux di un utente del dominio MS-Windows ricordando che il nome utente è dato da nome_dominio_nt+nome_utente_nt e la parola d'ordine è ovviamente la stessa utilizzata in ambiente MS-Windows.


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome accesso_a_gnu_linux_da_parte_di_utenti_di_un_dominio_ms_wind.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]