Per condividere file tra windows e Linux (Raspbian) si usa un programma chiamato Samba (SMB/CIFS sono protocolli di comunicazione tra computer linux e windows all'interno di una LAN ed il nome è stato storpiato per renderlo più famigliare SMB -> Samba; SMB = Server Message Block, CIFS = Common Internet File Sistem).
Bisogna istallarli e configurarli; questi i comandi da shell:
sudo apt-get update
sudo apt-get upgrade
per aggiornare il software del nostro Raspberry; poi:
sudo apt-get install samba samba-common-bin smbclient cifs-utils
per istallare samba e cifs.
Condividere una cartella di Raspberry PI con MS Windows
Nel nostro Raspberry creare una cartella da condividere nella home dell'utente predefinito (pi)
mkdir ~/RPIShare
NB: la tilde (~) si fa con altGr + ì oppure con "pagina giù" oppure con Alt + 126.
Infine entrare nel file di configurazione di samba per modificare le impostazioni...
sudo nano /etc/samba/smb.conf
cercare questa stringa e modificarla o de-commentarla...
workgroup = WORKGROUP
Sempre nel file di configurazione arrivare fino in fondo al testo ed aggiungere queste righe:
[PiShare]
comment=Raspberry Pi Share
path=/home/pi/RPIShare
browseable=Yes
writeable=Yes
only guest=no
Nel computer Windows che farà da client sarà necessario attivare la specifica funzionalità:
Dal menù "Impostazioni" aprire la finestra "Funzionalità di Windows" e cercare la voce "Supporto per condivisione file SMB/CIFS" e spuntare la 'sottovoce' "client SMB/CIFS". Riavviare il PC.
Ora si potrà vedere Raspberry dalle risorse di rete di un PC MSWindows creando e modificando file all'interno delle cartelle (sia all'interno delle risorse di rete del PC Windows sia all'interno della cartella RPIShare che abbiamo creato in Raspberry.
Condividere una cartella MSindows con Raspberry PI
Un po' più macchinoso effettuare la condivisione opposta.
Prima di tutto creiamo una cartella, per esempio sul desktop del PC Windows, che conterrà i file da condividere (chiamiamola WinShare). Dalle "Proprietà" della cartella diamo ad "Everyone" le autorizzazioni di controllo completo sia nella scheda "Condivisione" sia in quella "Sicurezza".
Ora sul nostro Raspberry creiamo una cartella che diventerà la destinazione della cartella Windows condivisa (chiamiamola "WindowShare") ... da shell
mkdir ~/WindowShare
Ora, sempre da shell modifichiamo come root il file /etc/fstab:
sudo nano /etc/fstab
e aggiungiamo in fondo questa riga
//remote_ip_address/folder /srv/mount_destination cifs vers=3.0,username=<add_your_UN>,noauto,user 0 0
Poi modifichiamo le autorizzazioni per il file /usr/sbin/mount.cifs da -rwxr-xr-x a rwsr-xr-x
sudo chmod 4755 /usr/sbin/mount.cifs
Possiamo effettuare il reboot del nostro Raspberry.
A questo punto per vedere i file di window nella cartella condivisa da windows sarà necessario effettuare il mount della stessa risorsa: sempre da shell:
USER=<add_your_UN> mount /srv/mount_destination
Ci verrà chiesta la password dell'utente windows che abbiamo indicato nel fil di configurazione
Password for <add_your_UN>@//remote_ip_address/folder: ************
... e visualizzeremo nella cartella WindowShare del Raspberry il contenuto nella cartella WShare di Windows potendo modificare (come utente Pi) i file da entrambi i lati.