15/12/2019, 08:06
(Questo messaggio è stato modificato l'ultima volta il: 27/08/2020, 19:00 da Tiger.)
Installare a abilitare la Condivisione Cartelle sul nostro Raspberry con Samba
Samba è un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS.
Samba è liberamente disponibile, al contrario di altre implementazioni SMB/CIFS,
e permette di ottenere interoperabilità tra Unix, Linux, macOS e Windows
Procediamo con l'installazione dei pacchetti necessari:
Codice:
1) sudo apt-get install samba samba-common-bin
fatto ciò andremo a editare il file di configurazione di samba fulcro di tutte le modifiche e configurazioni delle cartelle con il comando:
Codice:
2) sudo nano /etc/samba/smb.conf
all'interno di questo file andremo a decommentare (eliminare il #) le voci della sezione [global]
Codice:
workgroup = WORKGROUP
wins support = yes
e andremo ad aggiungere subito sotto la voce:
Codice:
security = user
In samba di default è attivo il protocollo smb v1 ormai deprecato in quanto consentiva l'accesso alle cartelle condivise senza immettere nome utente e password fattore di rischio in quanto virus e malware potevano infettare le suddette cartelle accedendo senza credenziali.
Sia in windows 10 che su sistemi Mac si è passati a disattivare il protocollo smb v1 sulle ultime versioni a favore del nuovo protocollo smbv2/v3.
Su Samba per ottenere lo stesso risultato va specificato nel file smb.conf inserendo le suddette voci:
Codice:
server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
client ipc min protocol = SMB2
Noterete che digitando indirizzo del Raspberry comparirà molte volte anche la cartella "pi" del vostro Raspberry,
sebbene non sia possibile accedere essa risulta disponibile.
Per farla scomparire dalla lista delle cartelle condivise disponibile basta aggiungere la voce:
Codice:
[pi]
comment = Home Directories
browseable = no
Dove dichiariamo che la home "pi" non deve essere browseable cioè visibile,
questo vale per qualunque cartella che vogliamo nascondere,
basterà cambiare il nome della cartella [pi] con quella da voi scelto.
Per condividere una cartella del nostro Raspberry andiamo ad aggiungere a fine file la path di dove è situata.
Ricordatevi che i vari HD esterni collegati via usb sono in Raspbian vengono automaticamente montati sulla path:
/media/pi
quindi presupponendo che il nome del vostro hd esterno sia "Tiger"
lo ritroverete in
Codice:
/media/pi/Tiger
Ora per condividere hd o una sua sottocartella va configurata la condivisione a fine file smb.conf con questi parametri:
Codice:
[Condivisa]
comment = Cartella Condivisa
path= /home/pi/Desktop/Condivisa/
browseable=yes
read only = no
writeable=yes
only guest=no
guest ok=yes
create mask=0777
directory mask=0777
public=yes
La voce tra parentesi quadre [Condivisa] sarà il nome della cartella che vedrete nella vostra rete,
possiamo anche dargli un nome diverso dalla path a cui punta.
esempio posso far visualizzare il nome della cartella in "[Tiger]" sebbene essa punti realmente a:
path= /home/pi/Desktop/Condivisa/
Modifichiamo la voce path in modo che punti alla nostra cartella e la voce comment, lasciare inalterate le altre.
solo le voci browserable come scritto in precedenza se impostata su no,
vi farà nascondere la cartella ma sara comunque accessibile indicando la path completa "/home/pi/Desktop/Condivisa/" nella barra degli indirizzi.
Altra nota importante: in Samba gli utenti adibiti ad accedere alle cartelle condivise dichiarate in smb.conf vanno cioè creati e non sono quelli di sistema.
Quindi se su Raspbian se avete piu utenti creati, essi non sono quelli che vi permetteranno di accedere alle cartelle condivise,
bensì vanno creati usando apposito comando:
Codice:
3) sudo smbpasswd -a pi
4) riavviamo il servizio con
sudo service smbd restart
dove "pi" indica utente abilitato samba da creare, vi verrà chiesto di impostargli anche una password.
questo utente o altri che creerete avranno accesso alle cartelle dichiarate tutte,
a cui va immesso nome un utente e password avendo il protocollo smb v2 attivo.
Se vogliamo per una cartella stabilire chi possa accedervi o meno fra i vari utenti creati,
andremo a inserire sotto le voci di quella determinata cartella la direttiva :
Codice:
5)valid users = pippo, pluto
esempio
Codice:
[Condivisa]
comment = Cartella Condivisa
path= /home/pi/Desktop/Condivisa/
browseable=yes
read only = no
writeable=yes
only guest=no
guest ok=yes
create mask=0777
directory mask=0777
public=yes
[b]valid users = pippo, pluto [/b]
cosi facendo tutti gli utenti vedranno in rete la cartella condivisa in esame,
ma solo pippo e pluto creati con il comando (sudo smbpasswd -a pippo o sudo smbpasswd -a pluto) potranno accedervi,
mentre se vogliamo anche che la cartella condivisa venga visualizzata solo agli utenti cui abbiamo dato autorizzazione con la direttiva "valid user", useremo sempre sotto la configurazione della cartella le direttive.
Codice:
hide unreadable = yes
hide unwriteable files = yes
Cosi solo pippo e pluto vedranno in rete le cartelle e solo loro con le loro password potranno accedervi.
Questo è Tutto
NB: Se qualcuno volesse integrare la guida con altri suggerimenti o info risponda al post, cosi come per dubbi e info varie.
See You Ti@er