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
- Apri Esplora file.
- Nella barra degli indirizzi digita:
\\<IP_DEL_SERVER>\home - Inserisci le credenziali Samba quando richiesto (utente e password impostati con
smbpasswd).
Per rendere la connessione permanente, clicca con il tasto destro su Questo PC → Connetti 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 client | Pacchetto richiesto | Comando di accesso |
|---|---|---|
| Windows 11 | — | \\<IP>\<share> da Esplora file |
| Ubuntu/Debian | cifs-utils | mount -t cifs o smbclient |
| RHEL/Fedora | cifs-utils | mount -t cifs o smbclient |
Note finali
- Usa sempre password dedicate per Samba, distinte da quelle di sistema.
- Limita l’accesso con
valid usersper evitare condivisioni aperte. - In ambienti con SELinux attivo, verifica i boolean con
getsebool -a | grep samba.