Configurazione avanzata di Samba
L’interfaccia guidata per la creazione delle cartelle condivise mediante Samba consente di specificare solo il nome della condivisione, il suo percorso, un commento e lo stato di sola lettura, decisamente troppo poco per poter utilizzare Samba al meglio.
Per configurare tutte le opzioni di Samba è necessario modificare il file di configurazione di Samba, posto su /etc/samba/smb.conf tramite utente root. Per far ciò basterà premere Alt+F2 e scrivere:
gksudo gedit /etc/samba/smb.conf
Le righe che iniziano per “#” o per “;” identificano dei commenti, cioè potremo scriverci qualsiasi cosa, Samba non le considererà parte della configurazione e le ignorerà. Per convenzione si utilizza il simbolo “#” per scriverci testo o spiegazioni mentre il “;” per disabilitare un’istruzione: basta togliere il simbolo all’inizio per utilizzare nuovamente quell’istruzione.
La modalità di accesso predefinita alle condivisioni di Samba è quella definita per utente (user), che cioè richiede l’utilizzo di una coppia utente/password registrata sul sistema in cui si accede. Un’altra modalità di accesso tipica di Samba è quella per condivisione (share) e consente di regolare gli accessi su ogni singola condivisione definendo gli accessi direttamente nelle impostazioni delle singole condivisioni.
Attivando la modalità per condivisione potremo configurare gli accessi per le singole condivisioni anziché restringere l’accesso ai soli utenti registrati nel sistema. All’interno del file smb.conf troveremo una riga security = user (disabilitata). Rimuovendo il “;” e cambiando la modalità di accesso per utente alla modalità per condivisione permetteremo l’accesso al server Samba anche senza l’utilizzo di un utente esistente sul server. Sarà naturalmente nostro compito regolare gli accessi alle singole condivisioni. Modificare la riga security come indicato:
security = share
In fondo al file di configurazione troveremo le condivisioni e le definizioni dei permessi alle stesse. La riga tra parentesi quadre identifica la condivisione e delimita l’inizio delle definizioni per la stessa. Al suo seguito possono esserci alcune delle seguenti istruzioni:
- path = percorso
Indica il percorso fisico della cartella condivisa - comment = commento alla condivisione
Identifica il commento alla condivisione, sarà mostrato quando verranno richiesti dettagli sulla condivisione - available = yes|no
Consente di attivare (yes) o disattivare (no) la condivisione - browsable = yes|no
Mostrerà (con yes) o nasconderà (con no) la condivisione sfogliando la rete. Una condivisione nascosta è pienamente funzionale ma chi non ne conosce il nome non potrà accedervi - writable = yes|no
Descrive la possibilità di scrittura all’interno della condivisione. Se impostata a no non sarà consentita alcuna modifica a files o cartelle, anche se il nostro utente o i permessi lo consentono; al contrario yes indicherà che Samba consentirà la modifica del contenuto, a patto che l’utente abbia i permessi necessari - read only = yes|no
Rappresenta l’esatto opposto all’istruzione writable, se viene assegnato yes, la condivisione sarà sempre in sola lettura mentre su no Samba consentirà la modifica del contenuto. Utilizzare a scelta writable o read only - guest ok = yes|no
Consente l’accesso alla condivisione da parte di utenti anonimi. Se ci si connette con un utente autorizzato sarà connesso quell’utente altrimenti si verrà connessi come guest/anonimo - public = yes|no
Sinonimo dell’istruzione guest ok - guest account = utente
Consente di specificare l’utente che verrà usato per le connessioni anonime. Se qualcuno tenta di connettersi alla condivisione e non possiede espliciti accessi verrà collegato come anonimo e svolgerà le operazioni con l’utente indicato in questa istruzione. Generalmente viene utilizzato l’utente nobody - guest only = yes|no
Forza l’utilizzo dell’utente anonimo anche se chi accede possiede una connessione con un utente autorizzato. Richiede la presenza di guest ok = yes - valid users = elenco utenti
Permette di specificare un esplicito elenco di utenti che potranno accedere alla condivisione - invalid users = elenco utenti
Consente di specificare un esplicito elenco di utenti ai quali sarà sempre vietato di accedere alla condivisione - force user = utente
Forza l’utilizzo di un particolare utente per le operazioni sui files e cartelle. Non riguarda in alcun modo l’autenticazione che richiede comunque un utente autorizzato o che sia abilitato l’accesso anonimo - force group = gruppo
Forza l’utilizzo di un particolare gruppo per le operazioni sui files e cartelle
Le seguenti istruzioni possono essere usate solo quando la modalità security non è impostata su share ma ad esempio su user:
- admin users = elenco utenti
Specifica un elenco di utenti che potranno accedere alla condivisione come se fossero root, superando qualsiasi limitazione imposta sia da Samba che dai permessi su files e cartelle. Da usare con estrema cautela. - read list = elenco utenti
Consente di specificare un elenco di utenti che avranno comunque accesso in sola lettura anche se per la condivisione è stato specificato writable = yes (o read only = no) - write list = elenco utenti
Consente di specificare un elenco di utenti con possibilità di scrittura anche se la condivisione è impostata in sola lettura - map to guest = Bad User|Bad Password
Trasforma in anonimi gli utenti che forniscono utenti inesistenti (Bad User) o password errate (Bad Password). Questa impostazione consente di utilizzare l’accesso anonimo anche con la modalità security su user
Dove è richiesto l’inserimento di un elenco utenti è possibile specificare uno o più utenti separati da spazio. Gli utenti possono essere sia quelli che accedono al sistema sia utenti creati appositamente per Samba. Oltre agli utenti possono essere indicati anche nomi di gruppi di utenti semplicemente anteponendo @ al nome del gruppo.
Molte delle istruzioni qui presentate possono essere inserite nella sezione [global] del file di configurazione e saranno valide per tutte le condivisioni che non specifichino in maniera differente. Per impostazione predefinita ad esempio il gruppo di utenti non validi (invalid users) contiene l’utente root, anche se non specificato all’interno delle singole condivisioni.
Le condivisioni create con la configurazione delle condivisioni sono generate come segue:
[paperotto] path = /home/paperotto comment = Cartella Home di paperotto available = yes browsable = yes public = yes writable = yes [Examples] path = /home/paperotto/Examples comment = Cartella Examples in sola lettura available = yes browsable = yes public = yes writable = no
Possiamo quindi notare che sono generate abilitate, visibili nella rete, con accesso anonimo abilitato e a seconda della scelta in sola lettura o meno. Non sono presentati permessi di alcun genere, né limitazioni esplicite. Gli utenti anonimi opereranno con l’utente nobody, per cui nel caso volessimo conceder loro permessi di scrittura dovremmo assicurarci che la cartella condivisa abbia i permessi per l’utente nobody.
Dopo aver apportato modifiche al file di configurazione è necessario far ricaricare a Samba il file tramite il comando da terminale:
sudo /etc/init.d/samba reload
La man page di smb.conf spiega bene i differenti parametri ammessi. Infine una guida in inglese completa a Samba e alla sua configurazione è disponibile sul sito di Samba.
-
29 aprile 2009 alle 23:07Network Lab » Blog Archive » Samba configurazione in Ubuntu Linux
-
18 agosto 2009 alle 14:14I software che utilizzo e le configurazioni per la mia Ubuntu Box: | FDS
Commenti recenti