Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Condividere file su Linux e Windows con Samba

Come creare un file server utilizzando Linux e il gestore di condivisioni Samba e garantire accesso sia a Linux sia a Windows.
Come creare un file server utilizzando Linux e il gestore di condivisioni Samba e garantire accesso sia a Linux sia a Windows.
Link copiato negli appunti

Spesso può essere utile avere la possibilità di accedere ai propri file via internet, senza necessariamente appoggiarsi a servizi esterni, per esempio per motivi di privacy. Inoltre, utilizzare un file server fatto in casa, ovvero un sistema in grado di consentire l’accesso e la gestione remota di file, può rivelarsi un’utile strumento di archiviazione, spesso più sicuro del tradizionale “hard disk portatile di backup”.

In questo articolo vedremo come mettere a punto proprio un file server, basando la nostra discussione su Samba. Si tratti di un servizio in grado di fornire funzionalità di file sharing, caratterizzato dall’essere rilasciato sotto licenza GPL. Samba è compatibile con la maggior parte dei sistemi operativi Linux moderni, ed in questo articolo vedremo come utilizzarlo su Ubuntu, sebbene ciò non vieta la possibilità di utilizzarlo pressocchè su qualsiasi altro sistema Linux.

Infine, vedremo qualche esempio di utilizzo, relativamente all’accesso al server da client Linux e Windows.

Installazione di Samba server

Le versioni server delle principali distribuzioni, in genere, includo di default una installazione di Samba. Se così non è, ed utilizziamo, come nel caso di Ubuntu, distribuzioni basate su Debian, possiamo comunque installare facilmente Samba mediante atp:

In alternativa, la maggior parte delle distribuzioni fornisce la possibilità di installare Samba facendo direttamente riferimento ai repository ufficiali. Ad ogni modo, la pagina di download del sito ufficiale del progetto fornisce una guida di massima sull’installazione mediante compilazione del codice sorgente

Una volta terminato il processo di installazione, avviamo il demone di Samba:

In alternativa possiamo utilizzare:

Adesso possiamo passare alla fase di configurazione.

Configurazione iniziale

Il principale file di configurazione di Samba, in genere, è situato in /etc/samba/smb.conf. Dovremo quindi modificare questo file per personalizzarlo secondo le nostre esigenze. Prima, però, è bene prevenire qualsiasi problema, effettuando una copia di backup del file originale. Per farlo, utilizziamo il seguente semplice comando:

Così facendo, salviamo una copia del file originale con il nome smb.conf_backup gedit

sudo gedit /etc/samba/smb.conf

A questo punto, non ci resta che modificare i parametri che ci interessano. Il primo fra questi è il nome del workgroup

workgroup = WORKGROUP

e modifichiamola a nostro piacimento. Se vogliamo che il server appartenga al workgroup GruppoHTML

workgroup = GruppoHTML

Se pensiamo di volere accedere al nostro server tramite sistemi MS Windows, può essere necessario far coincidere il nome del workgroup della rete Windows con quello impostato in smb.conf server string Risorse di Rete

Impostati i nomi, non resta che occuparci degli utenti e delle risorse da condividere.

Risorse condivise e utenti

Per quanto riguarda le risorse, si tratta di dichiarare, nel file smb.conf, il path, i permessi ed i nomi pubblici delle directory che si vogliono rendere accessibili dall’esterno. Per farlo, ad ogni directory associamo una struttura così fatta:

Il parametro public yes writable = yes smb.conf

Una volta dichiarate tutte le cartelle da rendere pubbliche, non resta che pensare agli utenti

smbpasswd -a nome_utente

Quest’ultimo associerà all’utente nome_utente

È anche possibile riferirsi a più utenti, ciascuno dei quali può accedere o meno alla propria home directory. Possiamo modificare l’accessibilità a tali directory private, modificando la sezione [homes]

[homes]
  comment = Home Directories
  browseable = no
  writable = yes

Il parametro browseable = no

Vale la pena sottolineare che le password di accesso al sistema e quelle per l’utilizzo di Samba possono essere completamente diverse (ed è bene che lo siano), ma comunque ad ogni utente Samba deve corrispondere un utente del sistema. Se se ne vuole creare uno, si può utilizzare il comando useradd pagina di manuale

A questo punto, terminata la configurazione, riavviamo Samba:

In alternativa, possiamo usare anche:

Utilizzo del File Server da client Windows

Siamo finalmente pronti ad utilizzare il nostro file server. Vediamo, quindi, un esempio riassuntivo, che spiega come accedervi direttamente da piattaforme MS Windows.

Supponiamo di avere creato l’utente vito, e di avere utilizzato, per le directory home, le impostazioni viste al paragrafo precedente. Assumiamo, inoltre,di avere valorizzato come segue alcuni parametri:

Per accedere, da Windows 7, alla directory pubblica Computer Connetti unità di rete 192.168.1.64

Accedere al File Server tramite Windows

Cliccando su Fine, ci verranno richieste le credenziali di accesso, e da questo momento in poi sarà possibile accedere al file server con la stessa facilità di accesso ad un hard disk locale.

Se vogliamo accedere alla home directory (assumendo, come abbiamo fatto, che ciò sia consentito), inseriremo l’indirizzo della macchina seguito dal nome dell’utente, come mostrato nella figura seguente:

Accedere alla home directory di un utente mediante Windows

Utilizzo del File Server da client Linux

Sebbene OpenSSH sia, probabilmente, la soluzione migliore per la gestione di un file server Linux nel caso di sistemi con client Linux, è comunque possibile utilizzare Samba, in modo da rendere agevole l’utilizzo del server in maniera multi-piattaforma. Vediamo, quindi, come accedere ad una directory pubblica mediante un client Linux.

Samba ci mette a disposizione un semplice comando in grado di effettuare il mount di una directory condivisa su una directory locale: si tratta di smbmount. In maniera quasi trasparente all’utente che utilizza la condivisione, è possibile aggiungere, modificare o eliminare file dalla directory montata. La sintassi è la seguente:

Nell’esempio precente, supponendo che l’utente sia vito 1234 /mnt/condivisione smbmount 192.168.1.64

mkdir /mnt/condivisione
smbmount //192.168.1.64 /mnt/condivisione –o username=vito,password=1234,rw

Le due lettere rw

Accesso da remoto ai file Samba

Non è un caso che, nei due esempi precedenti, abbiamo utilizzato degli indirizzi IP locali per la macchina del server. Se vogliamo avere accesso ai nostri file anche remotamente, ed abbiamo un router NAT, abbiamo bisogno innanzitutto di reindirizzare le richieste al file server, verso il nostro computer. È necessario aprire alcune porte per consentire il corretto funzionamento del protocollo SMB/CIFS su cui si basa Samba. Esse sono:

  • 137, 138 e 139 per i protocolli TCP e UDP;
  • Potrebbero essere necessarie anche le porte 445, 389 e 901, in TCP, in base ai servizi utilizzati; in alcuni casi, vengono utilizzate diverse porte successive alla 2000.

Una volta aperte le porte, può essere una buona norma utilizzare un servizio di DNS dinamico, in modo da rendere statico e più user-readable l’indirizzo del file server.

Rimandiamo un’analisi più approfondita di questi dettagli alla documentazione ufficiale

Ti consigliamo anche