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


Capitolo 291.   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 il comando net o smbpasswd con opportune opzioni.

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.

291.1   Configurazioni necessarie

291.1.1   smb.conf

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

   workgroup name = nome_dominio_win
   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 MS-Windows; 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_win/nome_utente_win.

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.

291.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 anche causare l'impossibilità di accedere al sistema. Può quindi essere opportuno fare una copia dei file interessati alle modifiche in modo da poter ripristinare la situazione precedente in ogni momento e anche tenere aperta una sessione di riserva come utente root dalla quale intervenire in caso di necessità.

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

291.1.2.1   Configurazione dei moduli PAM, Fedora Core 4

Vediamo prima le modifiche da apportare per la distribuzione Fedora Core 4.

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

auth   sufficient   /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.

A questo proposito si deve prestare attenzione al fatto che viene creata automaticamente solo la directory di ultimo livello del percorso richiesto; in altre parole se in smb.conf è stata inserita la direttiva:

template homedir = /home/%D/%U

che assegna all'utente la directory personale /home/nome_dominio_win/nome_utente_win, si deve avere l'accortezza di creare a priori la directory /home/nome_dominio_win, altrimenti il processo di accreditamento dell'utente fallisce per l'impossibilità di creare la directory richiesta.

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.

291.1.2.2   Configurazione dei moduli PAM, Ubuntu 5.04

Per la distribuzione Ubuntu 5.04 occorre operare in modo un po' diverso a causa della differente organizzazione della directory di configurazione di PAM.

Nel file /etc/pam.d/login deve essere aggiunta la seguente riga prima di tutte le occorrenze auth:

auth   sufficient   /lib/security/pam_winbind.so

Nel file /etc/pam.d/common-auth deve essere trasformata la riga:

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

in:

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

In testa al file /etc/pam.d/common-account deve essere aggiunta la seguente riga:

account  sufficient /lib/security/pam_winbind.so

In testa al file /etc/pam.d/common-session deve essere aggiunta la seguente riga:

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

291.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 oppure a compat in modo che per primi siano interrogati i file di sistema (/etc/passwd e /etc/group).

291.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 (286.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 (vedere la figura 291.12 dove «INF2000» è il nome del dominio e «ferronif» quello della macchina GNU/Linux).

Figura 291.12.

figure/samba-figura-7.1

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_win+nome_utente_win e la parola d'ordine è ovviamente la stessa utilizzata in ambiente MS-Windows (vedere figure 291.13, 291.14, 291.15, notando in 291.14 la creazione automatica della directory dell'utente al primo accesso).

Figura 291.13.

figure/samba-figura-7.2

 

Figura 291.14.

figure/samba-figura-7.3

 

Figura 291.15.

figure/samba-figura-7.4


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

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!