Home > Comandi Console, Concetti, Connessioni, Guide, Linux, Ubuntu, Windows > Configurazione avanzata di Samba

Configurazione avanzata di Samba

08 marzo 2008

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.

I commenti sono chiusi.
%d blogger cliccano Mi Piace per questo: