|
Ogni file è al suo posto
Diamo uno sguardo alla terza versione di Samba, il sistema di condivisione di risorse in rete che vuole mettere d'accordo i mondi di Linux e Windows
di Silvio Umberto Zanzi
Il progetto Samba deve il suo nome a un gioco di parole costruito intorno alla sigla SMB, acronimo per "Server Message Block". Si tratta di un protocollo adottato sul finire degli anni Ottanta da molti produttori per fornire funzionalità di condivisione di file, directory e stampanti all'interno di una rete locale. Tra questi produttori c'era anche Microsoft, che decise di includere il protocollo all'interno di Windows per l'erogazione dei servizi di rete. La scelta si rivelò strategica per la casa di Redmond che rafforzò il supporto a SMB in tutte le release successive dei propri sistemi operativi. Oggi SMB è più che mai presente, anche se recentemente ha cambiato il suo nome in CIFS (Common Internet File System).
Protocollo onnipresente
Come conseguenza naturale dell'adozione di SMB da parte di Microsoft, attualmente esistono centinaia di milioni di computer Windows che fanno uso di questo protocollo, creando così uno standard di fatto per i servizi di condivisione delle risorse. Ogni volta che si clicca sull'icona di Risorse di Rete e si sfoglia la rete oppure ogni volta che si lancia una stampa su una unità condivisa da Windows, si sta in qualche modo utilizzando il protocollo SMB. Nonostante la presenza quasi esclusiva in ambito Windows, SMB è un protocollo aperto e non un sistema chiuso sotto la proprietà di Microsoft. Qualunque produttore o gruppo di sviluppo può implementarlo per fornire servizi di condivisione su qualunque sistema e piattaforma, garantendo una piena compatibilità Windows. Questo è proprio quello che fa il progetto Samba: fornire servizi di condivisione per accedere in maniera trasparente alle reti Windows da postazioni Unix. Il progetto esiste da lungo tempo ma si può certamente affermare che la diffusione più rilevante di Samba si ha con la versione 2 nella piattaforma Linux. Il successo è stato dato dalla credibilità del pinguino e dall'allettante possibilità di replicare quasi completamente le funzionalità di un server Windows NT4 senza sostenere costi di licenza. Installando Samba in un file server era possibile risparmiare subito circa mille euro di licenza Windows Server più tutte le CAL richieste per ogni client che accede ai servizi centralizzati. Un vantaggio non indifferente per piccole e medie imprese, organizzazioni senza scopo di lucro ed enti governativi.
Ricomincio da 2
La versione 2.2 di Samba funziona grazie a due demoni generalmente attivati in fase di avvio della macchina Linux. Si tratta di smbd e di nmbd. Il primo provvede alle funzioni di autenticazione e di condivisione delle risorse. Il secondo implementa invece i servizi di risoluzione dei nomi, compreso WINS e le funzioni di browsing necessarie per vedere l'elenco dei computer su Risorse di Rete. Non bisogna infatti dimenticare che questo elenco non è dinamico e neppure aggiornato in tempo reale, ma è piuttosto mantenuto da un computer sulla rete. Questo a intervalli regolari provvede ad aggiornare l'elenco in base a un algoritmo ben definito. I client fanno riferimento a questo elenco per visualizzare l'elenco dei membri della rete locale. E' per questo motivo che non sempre si riesce a vedere in rete un computer appena acceso o si trovano ancora in elenco computer che risultano invece spenti già da molti minuti. I demoni smbd e nmbd svolgono nel complesso la totalità delle funzioni presenti in Samba 2, garantendo un comportamento simile a quello di un server Windows NT4.
Le funzioni della 2.2
Samba 2.2 può svolgere funzioni di workgroup o di dominio, può autenticare gli utenti in modalità "debole" compatibile Windows 9x, può autenticare in modalità NT, supporta la browsing list e gestisce in buona misura i criteri di sistema. Sul server si possono poi configurare un numero arbitrario di condivisioni e creare tutti i presupposti per l'erogazione di cartelle pubbliche e di home directory, tutte protette con diritti a livello di utente. Quanto basta insomma per sostituire un server NT4 in molte situazione reali. La configurazione e la manutenzione del sistema Samba avviene secondo la tradizione Unix dei file testuali da editare manualmente, unita però anche al meccanismo di autenticazione degli utenti del sistema operativo. Tutto questo può rendere la vita molto difficile a un amministratore di sistema "occasionale" privo della necessaria esperienza in ambito Unix. Si tratta di una condizione molto comune soprattutto nelle piccole imprese, dove il dipendente con maggiore esperienza o intraprendenza informatica viene spesso riciclato in gestore dei sistemi. Esistono comunque strumenti grafici per semplificare la gestione di Samba. Tra questi è interessante Swat, un front-end Web per l'amministrazione del sistema.
La concorrenza incalza
Pur essendo molto funzionale, Samba 2.2 è comunque privo di alcune caratteristiche importanti. Non è per esempio contemplato il ruolo di controller domain di backup (Backup Domain Controller o BDC), non sono supportate le relazioni di fiducia tra server Windows e macchine Samba e non è possibile amministrare la lista degli utenti e dei gruppi usando il tool di gestione di Windows NT4. Il divario si è poi allargato, dal momento che Microsoft non si è fossilizzata sulle caratteristiche di Windows NT4, ma ha incrementato piuttosto la rosa di funzionalità di rete nelle successive release di Windows 2000 Server e Windows Server 2003.
L'arrivo di Samba 3
Gli equilibri sono stati nuovamente ripristinati con Samba 3, rilasciato nel settembre 2003. Questa versione ha colmato un elevato numero di carenze, guadagnando nuovamente terreno sull'offerta Microsoft e tornando nuovamente a essere un'alternativa interessante. Il progetto è stato in seguito aggiornato nelle versioni 3.0.1 (15 Dicembre 2003), 3.0.2 (9 Febbraio 2004) e infine nell'attuale 3.0.2a. Queste tre release successive hanno comunque avuto solo ruoli correttivi nei confronti di bug strutturali o di falle di sicurezza. Non sono state cioè introdotte nuove caratteristiche. La lista delle novità in Samba 3 e dei bug corretti nei rilasci seguenti può essere consultata nel documento presente all'indirizzo http://us3.samba.org/samba/whatsnew/samba-3.0.2a.html. Scorrendo questa lista salta subito all'occhio una funzionalità molto importante: il supporto per Active Directory. Si tratta della possibilità di unirsi come membro a una struttura ADS preesistente, con la facoltà di autenticare utenti tramite il protocollo Kerberos e di utilizzare LDAP per la memorizzazione delle informazioni di rete. Tutto questo è un notevole passo in avanti, ma permangono alcuni limiti rilevanti. Bisogna innanzitutto capire che i protocolli che regolano il funzionamento dei dominii Windows non sono in realtà aperti, ma sono un segreto industriale ben custodito da Microsoft. Non esiste quindi alcuna documentazione tecnica liberamente disponibile. Gli sviluppatori di Samba non possono fare altro che compiere esperimenti sui dominii ed esaminare il traffico di rete per cercare di dedurre il comportamento dei protocolli. Si tratta di un estenuante lavoro di reverse engineering. Nonostante queste difficoltà si è riusciti a fare un lavoro di grande livello: Samba 3 può agganciarsi a dominii basati su Windows 2000 Server o Windows Server 2003 sia in modalità mista che in modalità nativa basata su ADS, in ogni caso come membro. Non è cioè possibile agire come controller autonomo di servizio Active Directory. Si è lavorato molto sugli aspetti più pratici, come per esempio la gestione delle stampanti condivise le cui caratteristiche possono essere pubblicate su Active Directory.
Anche per NT4
Nonostante il chiaro intento da parte del gruppo di sviluppo di emulare completamente l'ambiente di Active Directory, in Samba 3 sono state sviluppate anche le caratteristiche di dominio NT4. La scelta è molto intelligente: esiste ancora una percentuale elevata di utenti NT4 Server, addirittura superiore alle previsioni di Microsoft, ed è bene fornire supporto a questa categoria di utilizzatori. C'è poi il fatto che la maggior parte delle PMI non ha bisogno di tutte le caratteristiche di rete introdotte a partire da Windows 2000 Server. Un ambiente aperto, senza costi di licenza e in grado di emulare Windows NT4 Server è già più che sufficiente per una consistente fetta di mercato. Ecco allora che Samba 3 permette di migrare completamente un ambiente NT4 Server mantenendo le informazioni sugli utenti e sui gruppi. In questo processo vengono preservati anche i SID, gli identificatori unici di sicurezza per gli oggetti gestiti sul server. Grazie a questa capacità i client potranno essere integrati in maniera trasparente e senza alcun lavoro supplementare. Senza la possibilità di mantenere i SID sarebbe stato necessario disunire client dal dominio e riagganciarli nuovamente uno per uno per generare nuovi identificatori. E' supportato sia il ruolo di PDC (presente già da tempo) che quello di Backup Domain Controller, una novità per Samba. I tool di amministrazione presenti su Windows possono essere usati per amministrare questo ambiente, rendendo più semplice la gestione da parte dello staff tecnico.
Questione di fiducia
I dominii creati con Samba non sono più isolati, ma possono istituire relazioni di fiducia con controller di dominio basati su Windows. Questa era una delle carenze più sentite in Samba 2.2, in quanto l'assenza delle trust impediva l'uso di Samba in realtà complesse dotate di molti dominii. I nomi delle risorse possono essere composti ora in maniera più cosmopolita grazie all'inclusione di unicode. Sono spariti quindi i vincoli basati sulla codifica ASCII ed esiste ora piena facoltà di avere nomi realmente internazionali con alfabeti non occidentali. E' infine degna di nota la scelta di introdurre un comando net ispirato a Windows per l'esecuzione di un gran numero di funzioni di rete. L'obiettivo dichiarato è quello di sostituire progressivamente la miriade di utility e comandi di supporto a Samba con le opzioni incorporate all'interno dell'unico comando net. Si tratta di una scelta interessante, che permette di semplificare la gestione del sistema con un numero limitato di istruzioni da linea di comando.
Le principali novità di Samba 3.0 - Supporto per Active Directory in qualità di membro - Autenticazione Kerberos - Supporto LDAP - Pubblicazione degli attributi delle stampanti in Active Directory - Migrazione da un dominio NT4 a Samba mantenendo utenti, gruppi e SID - Relazioni di fiducia tra server NT4 e Samba - Supporto Unicode - Aggiunta del comando Net - Miglioramento nell'uso delle ACL di Linux per il supporto dei diritti delle risorse Samba |
Per capirne di più - "Implementing CIFS", Christopher R. Hertel, Prentice Hall Disponibile on line su www.ubiqx.org/cifs - "The Official Samba-3 HOWTO and Reference Guide", John H. Terpstra e Jelmer R. Vernooij, Prentice Hall - "Using Samba, 2nd Edition", Jay Ts, Robert Eckstein e David Collier-Brown, O'Really Disponibile on line su http://us3.samba.org/samba/docs/using_samba/toc.html - Introduzione a CIFS da CodeFX: www.codefx.com/CIFS_Explained.pdf - CIFS Reference da SNIA: www.snia.org/tech_activities/CIFS - Che cos'è SMB dal gruppo di sviluppo di Samba: www.samba.org/cifs/docs/what-is-smb.html |

Copyright IDG Communications Italia - tutti
i diritti riservati.
I prodotti e i marchi citati sono di proprietà dei rispettivi titolari. |