Condividere cartelle su Linux con Samba: guida pratica

Samba Linux

Samba è un’implementazione del protocollo SMB/CIFS che permette di condividere file e cartelle tra sistemi operativi diversi — Linux, Windows e macOS — all’interno della stessa rete locale. Questa guida mostra come installarlo, configurarlo e accedervi da altri dispositivi.

Installazione

Su distribuzioni basate su RHEL/Fedora (Fedora, Rocky Linux, AlmaLinux, CentOS Stream):

sudo dnf install samba samba-client samba-common -y

Su distribuzioni basate su Debian/Ubuntu:

sudo apt install samba samba-client -y

Configurazione

Prima di modificare il file di configurazione, è buona pratica crearne un backup:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

Apri il file di configurazione:

sudo nano /etc/samba/smb.conf

Aggiungi in fondo al file la definizione della cartella condivisa. L’esempio seguente condivide la home dell’utente pablo:

[home]
    path = /home/pablo
    browsable = yes
    read only = no
    writable = yes
    create mask = 0777
    directory mask = 0777
    valid users = pablo
    guest ok = no
    force user = pablo
    force group = pablo

Modifica pablo con il nome del tuo utente e path con il percorso della cartella che vuoi condividere.

Aggiungere l’utente a Samba

Samba gestisce le password separatamente dal sistema. Aggiungi il tuo utente con:

sudo smbpasswd -a $USER

Il comando richiederà di impostare una password dedicata per Samba.

Avvio del servizio e configurazione del firewall

Avvia il servizio e abilitalo all’avvio automatico:

sudo systemctl restart smb
sudo systemctl enable smb

Apri le porte necessarie nel firewall:

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

Su sistemi con ufw (Ubuntu/Debian), usa invece:

sudo ufw allow samba

Connettersi alla condivisione da altri dispositivi

Windows 11

  1. Apri Esplora file.
  2. Nella barra degli indirizzi digita: \\<IP_DEL_SERVER>\home
  3. Inserisci le credenziali Samba quando richiesto (utente e password impostati con smbpasswd).

Per rendere la connessione permanente, clicca con il tasto destro su Questo PCConnetti unità di rete, seleziona una lettera e inserisci il percorso UNC.

Per trovare l’IP del server Linux:

ip a

Linux — Ubuntu/Debian

Installa il client Samba se non è già presente:

sudo apt install smbclient cifs-utils -y

Accesso temporaneo tramite terminale:

smbclient //192.168.1.100/home -U pablo

Montaggio permanente — aggiungi questa riga a /etc/fstab:

//192.168.1.100/home  /mnt/samba-home  cifs  credentials=/etc/samba/.smbcredentials,uid=1000,gid=1000,iocharset=utf8  0  0

Crea il file delle credenziali:

sudo nano /etc/samba/.smbcredentials
username=pablo
password=tuapassword

Imposta i permessi corretti:

sudo chmod 600 /etc/samba/.smbcredentials

Crea il punto di mount e monta:

sudo mkdir -p /mnt/samba-home
sudo mount -a

Linux — RHEL/Fedora

Installa i pacchetti necessari:

sudo dnf install samba-client cifs-utils -y

La procedura di montaggio è identica a quella Debian/Ubuntu descritta sopra. L’unica differenza riguarda SELinux: se il montaggio fallisce, potrebbe essere necessario abilitare il boolean appropriato:

sudo setsebool -P samba_enable_home_dirs on

Verifica della configurazione

Prima di riavviare il servizio, puoi validare la configurazione con:

testparm

Il comando segnala eventuali errori o avvisi nel file smb.conf.

Riferimento rapido

Sistema clientPacchetto richiestoComando di accesso
Windows 11\\<IP>\<share> da Esplora file
Ubuntu/Debiancifs-utilsmount -t cifs o smbclient
RHEL/Fedoracifs-utilsmount -t cifs o smbclient

Note finali

  • Usa sempre password dedicate per Samba, distinte da quelle di sistema.
  • Limita l’accesso con valid users per evitare condivisioni aperte.
  • In ambienti con SELinux attivo, verifica i boolean con getsebool -a | grep samba.