Come utente abbonato puoi utilizzare lo script per il completamento di questo tutorial con un solo semplice comando. Visita la seguente pagina: Script per Ubuntu 20.04 LTS
Introduzione
Samba è una suite di strumenti utilizzati per la condivisione tra reti miste windows e linux.
Samba è un protocollo SMB/CIFS libero e open source per Unix e Linux che consente la condivisione di file e stampanti tra macchine Unix/Linux e Windows in una rete locale.
Samba contiene diversi programmi che servono a scopi diversi ma correlati, i due più importanti sono:
smbd : fornisce il servizio SMB/CIFS ( condivisione e stampa di file ), può anche fungere da controller di dominio di Windows.
nmbd : questo demone fornisce il servizio dei nomi NetBIOS, ascolta le richieste dei name-server. Consente inoltre di identificare il server Samba da altri computer sulla rete.
In questo tutorial vedremo come installare e configurare un Samba Server su Ubuntu 20.04 LTS.
Se desideri installare Samba su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Siete ora connessi al vostro server, siete pronti per iniziare l'installazione di Samba.
Installare Samba Server
Samba è disponibile nel repository ufficiale di Ubuntu, è incluso di default nella maggior parte delle distribuzioni Linux.
Assicuriamoci che i pacchetti nel sistema siano aggiornati alle ultime versioni disponibili:
sudo apt update
Installare Samba:
sudo apt install samba samba-common-bin
L'ultima versione stabile disponibile è la 4.11.6.
Per controllare la versione di Samba installata, eseguire questo comando:
sudo smbstatus
Oppure:
smbd --version
Per verificare se il servizio di Samba è attivo:
systemctl status smbd
systemctl status nmbd
Per avviare i due servizi:
sudo systemctl start smbd
sudo systemctl start nmbd
Una volta avviato, smbd utilizzerà in ascolto le porte TCP 139 e 445. nmbd sarà in ascolto sulla porta UDP 137 e 138.
- TCP 139: utilizzato per la condivisione di file e stampanti e altre operazioni.
- TCP 445: la porta CIFS senza NetBIOS.
- UDP 137: utilizzato per la navigazione in rete NetBIOS.
- UDP 138: utilizzato per il servizio dei nomi NetBIOS.
Creare una condivisione privata di Samda
In questa sezione vedremo come creare una condivisione privata di Samba che richiede al client di inserire nome utente e password per poter accedere.
Il file di configurazione di Samba principale si trova nella directory /etc/samba/smb.conf.
Aprire e modificare il file:
sudo nano /etc/samba/smb.conf
Nella sezione [global], assicurarsi che il valore workgroup sia lo stesso con le impostazioni del gruppo di lavoro dei computer Windows.
workgroup = WORKGROUP
È possibile trovare l'impostazione sul proprio computer Windows andando su Control Panel > System and Security > System.
Andare alla fine del file e aggiungere le seguenti righe:
[Private]
comment = needs username and password to access
path = /srv/private/
browseable = yes
guest ok = no
writable = yes
valid users = @samba
Salvare e chiudere il file.
Per salvare il file nell'editor di testo nano, premere Ctrl+O, quindi premere Invio per confermare il nome del file da scrivere. Per chiudere il file, premere Ctrl+X.)
- Private è il nome della cartella che verrà visualizzato sulla rete Windows.
- comment è una descrizione per la cartella condivisa.
- Il parametro path specifica il percorso della cartella condivisa.
- browseable Consenti ad altri computer nella rete di vedere il server Samba e la condivisione Samba. Se impostato su no, gli utenti devono conoscere il nome del server Samba e quindi inserire manualmente un percorso nel file manager per accedere alla cartella condivisa.
- guest ok Disabilita l'accesso ospite. In altre parole, è necessario inserire nome utente e password sul computer client per accedere alla cartella condivisa.
- writableConcede sia i permessi di lettura che quelli di scrittura ai client.
- valid users Solo gli utenti del gruppo samba possono accedere a questa condivisione Samba.
Ora è necessario creare un utente Samba. Per prima cosa, creare un account utente Linux standard con il seguente comando. Sostituisci nome_utente con il tuo nome utente desiderato.
sudo adduser nome_utente
Impostare una password Unix. Dopodiché, impostare anche una password Samba separata per il nuovo utente con il seguente comando:
sudo smbpasswd -a nome_utente
Creare il gruppo di samba.
sudo groupadd samba
Aggiungere questo utente al gruppo samba.
sudo gpasswd -a nome_utente samba
Creare la cartella di condivisione privata:
sudo mkdir /srv/private/
Il gruppo samba deve avere permessi di lettura, scrittura ed esecuzione della cartella condivisa.
È possibile concedere queste autorizzazioni eseguendo il seguente comando.
sudo setfacl -R -m "g:samba:rwx" /srv/private/
Quindi eseguire il seguente comando per verificare se ci sono eventuali errori:
testparm
Riavviare il demone smdb e nmdb
sudo systemctl restart smbd nmbd
Creare una condivisione pubblica di Samda senza autenticazione
Come creare una condivisione pubblica senza richiedere nome utente e password con samba.
Aprire e modificare il file di configurazione di Samba.
sudo nano /etc/samba/smb.conf
Nella sezione [global], assicurarsi che il valore workgroup sia lo stesso con le impostazioni del gruppo di lavoro dei computer Windows.
workgroup = WORKGROUP
È possibile trovare l'impostazione sul proprio computer Windows andando su Control Panel > System and Security > System.
Andare alla fine del file e aggiungere le seguenti righe:
[public]
comment = public share, no need to enter username and password
path = /srv/public/
browseable = yes
writable = yes
guest ok = yes
Salvare e chiudere il file.
Per salvare il file nell'editor di testo nano, premere Ctrl+O, quindi premere Invio per confermare il nome del file da scrivere. Per chiudere il file, premere Ctrl+X.).
Creare la directory /srv/public/.
sudo mkdir /srv/public
Quindi assicurarsi che l'account nobody abbia i permessi di lettura, scrittura ed esecuzione sulla cartella pubblica eseguendo il questo comando:
sudo setfacl -R -m "u:nobody:rwx" /srv/public/
Riavviare smbd e nmbd:
sudo systemctl restart smbd nmbd
Conclusione
L'installazione e la configurazione di Samba su Ubuntu 20.04 LTS Focal Fossa è terminata.