28.3. Configurazione di un server Samba

In SUSE Linux è possibile configurare un server Samba in due modi: con YaST o manualmente. La configurazione manuale offre un livello elevato di dettaglio ma non presenta le comodità della GUI di YaST.

28.3.1. Configurazione di un server Samba con YaST

Per configurare un server Samba, avviare YaST e selezionare Servizi di rete+Server Samba. Quando si avvia il modulo per la prima volta, viene visualizzata la finestra di dialogo Installazione del server Samba in cui è necessario selezionare alcune opzioni generali relative all'amministrazione del server. Al termine della configurazione, viene visualizzato un messaggio che chiede di immettere la password di root Samba. Quando si avvia il server in seguito viene visualizzata la finestra di dialogo Configurazione del server Samba.

La finestra di dialogo Installazione del server Samba prevede due passaggi:

Gruppo di lavoro o nome di dominio

Selezionare un nome esistente in Gruppo di lavoro o nome di dominio oppure immetterne uno nuovo e fare clic su Avanti.

Tipo server Samba

Nel passaggio successivo, specificare se il server deve fungere da PDC, quindi fare clic su Avanti.

Tutte le impostazioni configurate nella finestra di dialogo Installazione del server Samba possono essere modificate in seguito nella finestra di dialogo Configurazione del server Samba tramite la scheda Identità.

Al primo avvio del modulo del server Samba, la finestra di dialogo Configurazione del server Samba viene visualizzata subito dopo la finestra di dialogo Installazione del server Samba. Questa finestra di dialogo contiene tre schede:

Avvio

La scheda Avvio permette di specificare le opzioni per l'avvio del server Samba. Per avviare il servizio all'avvio del sistema, selezionare Durante l'avvio. Per avviare il servizio manualmente, selezionare Manualmente. Per ulteriori informazioni sull'avvio del server Samba, vedere la Sezione 28.2, "Avvio e arresto di Samba".

Questa scheda può essere usata anche per aprire porte nel firewall. Per effettuare questa operazione selezionare Apri porta nel firewall. Se si utilizzano più interfacce di rete, fare clic su Dettagli firewall per selezionare l'interfaccia di rete da usare per i servizi Samba, selezionare le interfacce desiderate, quindi fare clic su OK.

Condivisioni

Questa scheda permette di specificare quali condivisioni Samba devono essere attivate. Alcune condivisioni, come homes e stampanti, sono predefinite. Utilizzare Cambia lo stato per passare da Attivo a Inattivo e viceversa. Fare clic su Aggiungi per aggiungere nuove condivisioni oppure su Elimina per eliminare la condivisione selezionata.

Identità

Nella scheda Identità è possibile specificare il dominio associato all'host (Impostazioni di base) nonché l'eventuale nome host alternativo da utilizzare in rete (Nome host NetBIOS). Per impostare le impostazioni globali avanzate o l'autenticazione utente, fare clic su Impostazioni avanzate.

Fare clic su Fine per chiudere la configurazione.

28.3.2. Amministrazione Web con SWAT

SWAT (Samba Web Admnistration Tool) è un altro strumento che può essere utilizzato per amministrare il server Samba. Questo fornisce un'interfaccia Web intuitiva per la configurazione del server Samba. Per usare SWAT, aprire http://localhost:901 in un browser Web e accedere come utente root. Se non si dispone di un account root Samba specifico, usare l'account root di sistema.

[Note]Attivazione di SWAT

SWAT non viene automaticamente attivato dopo l'installazione del server Samba. Per attivarlo aprire Servizi di rete+Servizi di rete (xinetd) in YaST, attivare la configurazione dei servizi di rete, selezionare swat nella tabella e fare clic su Cambia lo stato (attiva/disattiva).

28.3.3. Configurazione manuale del server

Se si prevede di usare Samba come server, installare samba. Il file di configurazione principale di Samba è /etc/samba/smb.conf può essere diviso in due parti logiche. Nella sezione [global] sono presenti le impostazioni centrali e globali, mentre nelle sezioni [share] sono contenute le singole condivisioni di file e stampanti. Grazie a questo approccio è possibile impostare in modo diverso o globale i dettagli relativi alle condivisioni nella sezione [global] e migliorare la trasparenza strutturale del file di configurazione.

28.3.3.1. Sezione global

Per soddisfare i requisiti di configurazione della rete in modo che altri computer possano accedere al server Samba tramite SMB in un ambiente Windows, è necessario apportare alcune modifiche ai parametri della sezione [global] riportati di seguito.

workgroup = TUX-NET

In questa riga il server Samba viene assegnato a un gruppo di lavoro. Sostituire TUX-NET con un gruppo di lavoro appropriato all'ambiente di rete in uso. Il server Samba viene identificato con il relativo nome DNS, a meno che tale nome sia stato assegnato a un altro computer nella rete. Se il nome DNS non è disponibile, impostare il nome del server mediante netbiosname=MYNAME. Per ulteriori informazioni su questo parametro, vedere mansmb.conf.

os level = 2

Questo parametro consente di definire se il server Samba tenterà di assumere il ruolo di LMB (Local Master Browser) per il gruppo di lavoro a cui appartiene. Scegliere un valore molto basso per evitare qualsiasi interferenza nella rete Windows esistente causata da un server Samba configurato in modo scorretto. Per ulteriori informazioni su questo importante argomento, vedere i file BROWSING.txt e BROWSING-Config.txt nella sottodirectory textdocs della documentazione relativa al pacchetto.

Se nella rete non sono presenti altri server SMB, ad esempio un server Windows NT o 2000, e si desidera che sul server Samba venga creato un elenco di tutti i sistemi presenti nell'ambiente locale, impostare il parametro os level su un valore più alto, ad esempio 65. Il server Samba verrà quindi scelto come LMB per la rete locale.

Quando si modifica questa impostazione, considerare con attenzione l'impatto che potrebbe avere su un ambiente di rete Windows esistente. Effettuare prima i test delle modifiche in un ambiente di rete isolato o in un'ora del giorno in cui il traffico di rete è limitato.

wins support e wins server

Per integrare il server Samba in una rete Windows esistente con un server WINS attivo, abilitare l'opzione wins server e impostare il relativo valore sull'indirizzo IP del server WINS.

Se i computer Windows sono connessi a sottoreti separate e devono continuare a riconoscersi reciprocamente, è necessario configurare un server WINS. Per convertire un server Samba in un server WINS, impostare l'opzione wins support = Yes. Assicurarsi che questa impostazione sia abilitata in un solo server Samba della rete. Le opzioni wins server e wins support non devono mai essere abilitate contemporaneamente nel file smb.conf.

28.3.3.2. Condivisioni

Negli esempi seguenti viene illustrato come rendere disponibili ai client SMB un'unità CD-ROM e le directory utente (homes).

[cdrom]

Per evitare che l'unità CD-ROM sia resa accidentalmente disponibile, queste righe sono disattivate mediante segni di commento (in questo caso punti e virgola). Rimuovere i punti e virgola nella prima colonna per condividere l'unità CD-ROM con Samba.

Esempio 28.1. Condivisione di un CD-ROM.

;[cdrom]
;       comment = Linux CD-ROM
;       path = /media/cdrom
;       locking = No
[cdrom] e comment

La voce [cdrom] corrisponde al nome della condivisione visibile a tutti i client SMB nella rete. Per descrivere la condivisione, è possibile aggiungere una voce comment.

path = /media/cdrom

path consente l'esportazione della directory /media/cdrom.

Per mezzo di una configurazione di default molto restrittiva questo tipo di condivisione viene reso disponibile solo agli utenti presenti nel sistema. Per rendere la condivisione disponibile a tutti gli utenti, aggiungere la riga guest ok = yes alla configurazione. Questa impostazione consente di assegnare autorizzazioni di lettura a tutti gli utenti della rete. Si consiglia di utilizzare questo parametro con la massima precauzione, specialmente nella sezione [global].

[homes]

La condivisione [home] è estremamente importante in questo caso. Se l'utente dispone di un account e di una password validi per il file server Linux e di una propria home directory, può essere connesso a tale condivisione.

Esempio 28.2. Condivisione homes.

[homes]
	comment = Home Directories
	valid users = %S
	browseable = No
	read only = No
	create mask = 0640
	directory mask = 0750
[homes]

A condizione che per nessun'altra condivisione venga utilizzato il nome di condivisione dell'utente che si connette al server SMB, viene generata dinamicamente una condivisione mediante le direttive della condivisione [homes]. Il nome della condivisione risultante è il nome utente.

valid users = %S

%S viene sostituito con il nome reale della condivisione non appena viene stabilita una connessione. Per una condivisione [homes] questo nome corrisponde sempre al nome utente. I diritti di accesso alla condivisione di un utente, di conseguenza, vengono limitati esclusivamente all'utente.

browseable = No

Questa impostazione rende la condivisione invisibile nell'ambiente di rete.

read only = No

Per default, Samba impedisce l'accesso in scrittura a tutte le condivisioni esportate per mezzo del parametro read only = Yes. Per rendere scrivibile una condivisione, impostare il valore read only = No che è sinonimo di writeable = Yes.

create mask = 0640

I sistemi non basati su Microsoft Windows NT non riconoscono il concetto di autorizzazioni di UNIX, pertanto non sono in grado di assegnare autorizzazioni durante la creazione di un file. Il parametro create mask definisce le autorizzazioni di accesso assegnate ai nuovi file creati. Questa impostazione viene applicata solo alle condivisioni scrivibili. In effetti significa che il proprietario dispone di autorizzazioni di lettura e scrittura, mentre i membri del gruppo primario del proprietario dispongono di autorizzazioni di lettura. valid users = %S impedisce l'accesso in lettura anche se al gruppo sono assegnate autorizzazioni di lettura. Per consentire l'accesso in lettura o scrittura al gruppo, disattivare la riga valid users = %S.

28.3.3.3. Livelli di sicurezza

Per ottimizzare la sicurezza, è possibile proteggere l'accesso a ciascuna condivisione mediante una password. Per il controllo delle autorizzazioni in SMB sono disponibili tre modi:

Sicurezza a livello di condivisione (security = share)

Una password viene assegnata stabilmente a una condivisione. Chiunque conosca questa password può accedere alla condivisione.

Sicurezza a livello utente (security = user)

Questa variazione introduce il concetto dell'utente in SMB. Ogni utente deve registrarsi nel server con la propria password, dopodiché il server può concedere l'accesso a singole condivisioni esportate in base ai nomi utente.

Sicurezza a livello di server (security = server):

Per i client il funzionamento del server Samba avviene apparentemente a livello di utente, mentre in realtà tutte le query relative alle password vengono passate a un altro server in modalità livello utente che procede all'autenticazione. Questa impostazione richiede un parametro aggiuntivo (password server).

Il livello di protezione selezionato per la condivisione, l'utente o il server viene applicato a tutto il server. Nella configurazione di un server non è possibile applicare la sicurezza a livello di condivisione a singole condivisioni e la sicurezza a livello di utente ad altre condivisioni. È tuttavia possibile eseguire un server Samba separato per ogni indirizzo IP configurato nel sistema.

Ulteriori informazioni su questo argomento sono disponibili nella documentazione HOWTO di Linux su Samba. Nel caso di più server in un sistema prestare attenzione alle opzioni interfaces e bind interfaces only.