Home > Tips Linux e Microsoft > Samba configurazione in Ubuntu Linux

Samba configurazione in Ubuntu Linux

Samba

Esistono due sistemi di condivisione molto utilizzati:

  • Samba: il sistema compatibile con le condivisioni di Windows
  • NFS: il sistema storicamente usato su Unix e Linux

Per comodità e più possibilità utilizzeremo il servizio Samba: ci consentirà infatti di utilizzare le nostre condivisioni anche su sistemi Windows oltre che Linux.

Avviare Cartelle condivise

La loro configurazione iniziale è estremamente semplice: aprendo il menu Sistema, all’interno della cartella Amministrazione troviamo Cartelle condivise.

Se non abbiamo mai installato né Samba né NFS ci sarà richiesto di installare almeno uno dei due. Come abbiamo detto preferiremo Samba, per cui toglieremo la spunta su Installare il supporto a reti Unix (NFS), lasceremo soltanto il secondo e cliccheremo su Installazione servizi.

I servizi di condivisione non sono installati Scaricamento file dei pacchetti

Verrà avviata automaticamente la procedura per lo scaricamento e l’installazione dei pacchetti. Al termine della procedura torneremo alla finestra di gestione delle condivisioni.

Cartelle condivise Proprietà generali

La finestra è divisa in due schede: la prima chiamata Cartelle condivise mostra le cartelle già condivise mentre la seconda Proprietà generali consente di cambiare il nome del gruppo di lavoro. Quello predefinito è MSHOME.

Cliccando su Aggiungi sarà possibile aggiungere una nuova condivisione: dovremo soltanto scegliere la cartella da condividere, il protocollo (Rete di tipo Windows), il nome da assegnare alla condivisione, un eventuale commento e decidere se la cartella sarà di sola lettura o sarà permessa anche la scrittura. Quest’ultima regola sarà poi sottoposta agli eventuali permessi, ma una condivisione in sola lettura non sarà mai modificabile anche se l’utente è autorizzato alla scrittura.

Condividi cartella paperotto Condividi cartella Examples

Per il nostro scopo aggiungeremo due condivisioni: la cartella home dell’utente paperotto e la cartella Examples dentro la home dell’utente. Quest’ultima sarà segnata come Sola lettura.

Cartelle condiviseConfermato l’inserimento delle due cartelle la finestra delle cartelle condivise ce le mostrerà entrambe. Naturalmente possiamo in ogni momento eliminarle o modificarle.

Fatto ciò il passaggio è quasi completato. Le cartelle sono condivise regolarmente, possiamo già collegarci utilizzando il nome del computer oppure l’indirizzo IP e osservare le condivisioni tramite il menu Risorse, Rete come spiegato su Connettere una condivisione Windows o un sito FTP.

Possono tuttavia capitare alcuni problemi nell’accesso, uno dei quali è dovuto al nome del computer assegnato durante l’installazione. Infatti Ubuntu all’installazione assegna come nome del computer, il nome dell’utente principale seguito da -desktop, ad esempio se l’utente principale è paperotto, il nome del computer sarà paperotto-desktop.

Sebbene questo comportamento può essere modificato in fase di installazione, se è stato assegnato un nome del computer più lungo di 15 caratteri ci saranno problemi nello sfogliare le risorse condivise sia da Windows che da Linux. In una condizione del genere abbiamo due possibilità: la prima è quella di cambiare il nome del computer dalla gestione della rete (network-admin), la seconda invece consiste nel cambiare il nome del computer usato da Samba. Per far ciò è necessario modificare il file smb.conf con questo comando:

gksudo gedit /etc/samba/smb.conf

E inserire all’interno della zona Global:

netbios name = nomecomputer

Nel nostro esempio daremo come nome paperotto, Samba vedrà il computer condiviso con questo nome anziché quello usato dal sistema.

Tramite Linux adesso sarà possibile navigare tra le condivisioni in maniera anonima, senza la necessità di inserire utente e password, ma nella condizione attuale sarà possibile soltanto leggere ma non apportare modifiche ai files o alle cartelle condivise.

Vedremo in seguito come assegnare dei criteri di accesso, come modificare i files delle cartelle condivise e come accedere da sistemi Windows.

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.

Condividere una cartella con Samba su Ubuntu 8.04

Ne avevamo già parlato in passato, su Ubuntu 7.10 la condivisione delle cartelle richiedeva giusto un paio di click, sempre che non si verificassero problemi col nome del computer. Poi se gli utenti che accedono fanno parte di una rete Windows il discorso si complica un po’, rischiando infine di dover effettuare una configurazione avanzata di Samba.

Su Ubuntu 8.04 questa storia non si ripete, la condivisione delle cartelle con Samba e con Windows è diventata davvero semplice.

Il vecchio pannello di configurazione di Samba (shares-admin) è stato nascosto dai menu, perché ormai inutile per una semplice condivisione di cartelle. Basterà un click col tasto destro sopra una cartella e scegliere Opzioni di condivisione.

Sarà presentata una finestrella sintetica inizialmente senza la spunta su Condividere questa cartella. Basterà cliccare sulla spunta per consentire alla condivisione della cartella.

Se non era stato installato in precedenza il servizio Samba verrà richiesto di installarlo, cliccando sul pulsante Installa servizio. Quando richiesto immettere la propria password per avviare l’installazione.

L’installazione del servizio Samba procederà automaticamente, basterà premere Chiudi al termine dell’installazione. A questo punto della procedura, anche se non indicato si raccomanda di disconnettere il proprio utente dal menu Sistema – Esci – Termina sessione, quindi accedere nuovamente e riavviare la condivisione, per consentire l’applicazione dei permessi al proprio utente.

Al termine dell’installazione si tornerà automaticamente alla finestra della condivisione, la prima spunta consente la condivisione normale mediante utenti registrati sul sistema, ovvero soltanto chi possiede un utente e la relativa parola d’ordine potrà accedere alla condivisione.

La seconda spunta Consentire ad altre persone di scrivere in questa cartella regola la possibilità di far apportare modifiche all’interno della cartella, senza la quale avremmo una condivisione in sola lettura.

L’ultima spunta Accesso ospite consente anche ad utenti anonimi, senza un proprio utente sul sistema, di accedere alla cartella, impersonando l’utente nobody. Ciò significa che chiunque potrà accedere alla condivisione, leggere i files condivisi e apportare modifiche se è stato scelto di consentire la scrittura.

Cliccare Crea condivisione per confermare i dati immessi e controllare i permessi della cartella, se compatibili con quelli qui scelti.

Se è stato scelto di consentire l’accesso agli utenti anonimi sarà necessario reimpostare i permessi alla cartella e la finestra successiva consentirà di farlo automaticamente.

Fatto ciò la condivisione è terminata, è possibile provare sin da subito a connettersi alla condivisione Samba tramite Ubuntu oppure con Windows.


Qualora si presentasse la seguente situazione in cui si illumina di rosso il nome della condivisione e in fondo è mostrato il messaggio di errore “net usershare” ha restituito l’errore 255: net usershare: cannot open usershare directory /var/lib/samba/usershares. Error Permesso negato nessuna paura.

Se non si è riavviata la sessione dopo l’installazione di Samba, procedere al riavvio e ritentare l’operazione, quasi sicuramente l’errore andrà via, il nostro utente ha guadagnato il permesso al gruppo sambashare ma senza riavvio della sessione, non ne potrà godere.

Qualora anche dopo il riavvio venisse mostrato lo stesso errore è necessario intervenire sul gruppo degli utenti sambashare.

Avviare la gestione dei gruppi di utenti dal menu Sistema – Amministrazione – Utenti e gruppi (consultare l’articolo sulla configurazione dei gruppi in caso di dubbi), cliccare il pulsante Sblocca per consentire le modifiche ai permessi e quindi su Gestisci gruppi.

Cliccare sul gruppo sambashare e quindi sul pulsante Proprietà. Nella finestra mostrata immettere la spunta sopra il nostro utente, nella figura paperotto. Confermare il tutto con OK, chiudere tutto, disconnettere la sessione e rilanciare la condivisione.


Per chi si chiedesse che fine ha fatto la vecchia finestra di amministrazione delle condivisioni, è ancora presente, richiamabile con ALT+F2 e scrivendo il comando shares-admin. Tuttavia col nuovo metodo di condivisione di Samba, le singole cartelle condivise mediante Nautilus non saranno visibili; sarà invece possibile cambiare il nome del gruppo di lavoro e decidere quali utenti potranno accedere con Samba.

Il file /etc/samba/smb.conf non conterrà le condivisioni create mediante Nautilus. Le nuove condivisioni potranno trovarsi su /var/lib/samba/usershares dove ogni file identificherà una condivisione personale.

Share

Tips Linux e Microsoft

  1. Nessun commento ancora...
  1. Nessun trackback ancora...