[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
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:
una libreria per il NSSwitch (Name service switch);
una libreria per i moduli PAM (Pluggable authentication modules);
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.
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.
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
.
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
).
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]