Ubuntu 20.04 Server / Samba / Installare e creare una cartella condivisa
Installa Samba su Ubuntu 20.04 Server e configura condivisione, utenti e permessi per leggere e scrivere da Esplora file di Windows. L’esempio usa un server autonomo riservato agli utenti Samba autenticati di un gruppo dedicato, anziché ospiti senza password.
Verificare l’ambito e installare Samba
Samba condivide file Linux con Windows tramite SMB (Server Message Block). Qui creiamo una condivisione con account locali, non un controller o membro di dominio Active Directory. Non sovrascrivere il [global] di un dominio esistente con questo esempio.
Servono sudo, spazio e accesso Windows all’IP privato o al nome correttamente risolto del server. L’esempio usa 192.168.10.20 e la rete consentita 192.168.10.0/24: adattali. Il supporto standard di Ubuntu 20.04 è terminato nel 2025; verifica la manutenzione nelle informazioni Canonical su Ubuntu 20.04.
Installa i pacchetti e controlla la versione. smbclient è lo strumento client per i test. Le basi sono nella guida Ubuntu al file server Samba.
sudo apt update
sudo apt install samba smbclient
smbd --version
systemctl status smbd.service
Su un server esistente, esamina condivisioni e utenti prima di salvare /etc/samba/smb.conf. Se il backup esiste, scegli un altro nome. L’esempio presume una directory nuova vuota, senza modificare ricorsivamente proprietà o permessi dei dati esistenti.
sudo cp -a /etc/samba/smb.conf /etc/samba/smb.conf.before-team-share
sudo testparm -s
Creare utente, gruppo e directory
- Verifica se
smbuseresmbteamesistono. Controllane scopo e membri prima del riuso, oppure scegli altri nomi e adatta tutti i riferimenti.
getent passwd smbuser
getent group smbteam
- Se entrambi sono assenti, crea gruppo e account dedicato e registra una password Samba. Quella richiesta dall’ultimo comando si usa da Windows.
sudo groupadd smbteam
sudo useradd -M -s /usr/sbin/nologin -G smbteam smbuser
sudo smbpasswd -a smbuser
L’account non crea directory personale né shell di login interattiva. Le password Linux con passwd e le credenziali Samba con smbpasswd sono separate. Non ricreare un account esistente: aggiungilo con sudo usermod -aG smbteam USERNAME, poi registra lo stesso nome in Samba. Vedi il manuale smbpasswd di Ubuntu 20.04.
- Crea la nuova directory. Il comando imposta proprietario, gruppo e modalità; se il percorso contiene dati, esamina prima i permessi esistenti.
sudo install -d -o root -g smbteam -m 2770 /srv/samba/team
ls -ld /srv/samba/team
id smbuser
2770 dà al proprietario e al gruppo lettura, scrittura e attraversamento, escludendo gli altri. Il 2 iniziale è setgid per l’ereditarietà del gruppo. Verifica gruppo smbteam e appartenenza di smbuser. Linux e Samba devono entrambi consentire l’accesso; non risolvere con chmod 777.
Configurare una condivisione autenticata
Apri con sudoedit /etc/samba/smb.conf e aggiungi la sezione conservando l’esistente. Se c’è già [Team], esaminala invece di duplicarla. Il nome Team è diverso dal percorso sul disco.
[Team]
path = /srv/samba/team
browseable = yes
read only = no
guest ok = no
valid users = @smbteam
force group = smbteam
create mask = 0660
force create mode = 0660
directory mask = 2770
force directory mode = 2770
guest ok = no vieta gli ospiti; valid users = @smbteam consente i membri autenticati del gruppo. read only = no abilita scrittura in Samba senza aggirare Linux. force group imposta il gruppo delle operazioni.
Le maschere limitano i permessi dei nuovi oggetti e force mode aggiunge i bit per collaborare. L’esempio mira a file 0660 e directory 2770, senza cambiare quelli esistenti. Altre ACL (Access Control Lists, liste di controllo degli accessi) o moduli richiedono verifica specifica. Vedi il manuale smb.conf di Ubuntu 20.04.
Verificare, applicare e controllare il firewall
- Controlla la configurazione e correggi gli errori prima di applicare. Un
testparmriuscito indica che si può caricare, non garantisce autenticazione o operazioni reali.
sudo testparm -s
Confronta [Team], percorso e restrizioni nell’output. Il manuale testparm richiede anche test di funzionamento. Il riavvio può interrompere condivisioni esistenti: identifica gli utenti e pianifica la manutenzione.
- Dopo la verifica, applica il servizio e controlla esecuzione e avvio automatico.
sudo systemctl enable --now smbd.service
sudo systemctl restart smbd.service
systemctl is-active smbd.service
systemctl is-enabled smbd.service
sudo ss -ltnp | grep ':445'
- Se il firewall è attivo, consenti TCP 445 solo dalla rete interna necessaria. Sostituisci l’intervallo, definisci l’ambito e controlla le regole esistenti.
sudo ufw status verbose
sudo ufw allow from 192.168.10.0/24 to any port 445 proto tcp
Aggiungere una regola non attiva UFW disabilitato. Non eseguire ufw enable senza verificare l’amministrazione remota. Controlla router e cloud, senza inoltrare SMB direttamente da Internet. L’accesso per indirizzo non richiede tutti i vecchie porte di rilevamento NetBIOS. Sintassi nel manuale UFW.
Testa autenticazione ed elenco dal server. Inserisci la password alla richiesta, non nel comando. Verifica Team e contenuto, poi prova Windows separatamente. Vedi il manuale smbclient.
smbclient -L 127.0.0.1 -U smbuser
smbclient //127.0.0.1/Team -U smbuser -c 'ls'
Accedere da Windows e provare i file
- Apri Esplora file e digita il percorso nella barra degli indirizzi. Sostituisci
192.168.10.20. L’accesso diretto può funzionare anche senza comparsa automatica nell’elenco Rete.
\\192.168.10.20\Team
- Usa
smbusere la password registrata consmbpasswd -a, non account Windows o PIN. Se è selezionato un altro account, scegli di usarne uno diverso e indica l’utente Samba del server. - Crea cartella e file di prova, modifica il contenuto e riaprilo. Elimina il file di prova e controlla che un altro utente autorizzato possa modificare i file necessari. Non usare dati esistenti importanti.
Per altri utenti, prepara account Linux e credenziali Samba individuali e aggiungili a smbteam. Preferisci account personali a una password comune. Dopo modifiche a gruppi o permessi, chiudi le connessioni e prova una nuova sessione SMB.
Per uso frequente, scegli Questo PC → Connetti unità di rete, una lettera e \\192.168.10.20\Team come cartella. Usa altre credenziali se necessario. Per i menu delle diverse versioni consulta la guida Microsoft alle unità di rete.
Le restrizioni ospiti o la firma SMB Windows possono rifiutare vecchie condivisioni anonime. L’esempio usa autenticazione, senza installare SMB1, consentire ospiti non sicuri o disabilitare la firma come soluzione. Se l’organizzazione limita NTLM, adegua la configurazione a dominio e server. Condizioni per versione ed edizione nella documentazione Microsoft sulla firma SMB.
Diagnosticare l’accesso e rimuovere la condivisione
Testa TCP 445 da PowerShell. TcpTestSucceeded con True non valida credenziali o permessi; con False verifica indirizzo, routing, firewall e servizio in ascolto. Opzioni nella documentazione Test-NetConnection di Microsoft.
Test-NetConnection -ComputerName 192.168.10.20 -Port 445
Se la password è rifiutata, controlla registrazione Samba, nome e gruppo. Se accedi senza poter scrivere, usa namei -l /srv/samba/team, ls -ld /srv/samba/team e id smbuser per controllare percorso e gruppo, insieme alla sola lettura Samba. Consulta sudo journalctl -u smbd.service -n 50 --no-pager e /var/log/samba/.
Se Windows conserva vecchie credenziali, esamina net use. Chiudi i file, disconnetti solo la condivisione interessata come sotto e riconnetti. Controlla anche altre condivisioni dello stesso server e le voci in Gestione credenziali. Non eliminare in blocco unità estranee.
net use \\192.168.10.20\Team /delete
Per interrompere, rimuovi o ripristina soltanto [Team] in smb.conf, valida con testparm -s e riavvia smbd.service durante manutenzione. Rimuovi solo la regola UFW corrispondente se inutile. Controlla le connessioni restanti e conserva dati e account Linux separatamente.
sudo ufw delete allow from 192.168.10.0/24 to any port 445 proto tcp
Prima di ripristinare l’intero file, confronta le modifiche ad altre condivisioni dal backup. Per disabilitare solo l’account Samba usa sudo smbpasswd -d smbuser, senza presumere che le sessioni finiscano subito. Verifica separatamente rifiuto delle nuove connessioni e sessioni restanti.



