L'installazione e la configurazione di Samba in Ubuntu 20.04 è un'attività tipica di un amministratore di sistema. Tuttavia, è utile anche quando abbiamo più computer all'interno della stessa rete come in una casa. Ecco perché dopo aver letto questo post imparerai come installare e configurare Samba per condividere file su una rete.
Samba è un'implementazione gratuita del protocollo di condivisione file di Microsoft Windows (precedentemente chiamato SMB, recentemente rinominato CIFS) per sistemi simili a UNIX.
Cioè, con Samba possiamo condividere file tra computer su una rete. Questo protocollo è molto maturo ed è abbastanza semplice da configurare.
Installa Samba su Ubuntu 20.04
Samba è un'implementazione per Unix. Pertanto è disponibile per molte distribuzioni Linux. E Ubuntu 20.04 non fa eccezione.
Quindi, Samba è presente nei repository ufficiali di Ubuntu, quindi l'installazione diventa facile.
Avvia un terminale o una sessione SSH ed esegui i seguenti comandi:
sudo apt update
sudo apt install samba
Con questo, sarai installato. Per avviare il servizio e farlo partire insieme al sistema, eseguire questi comandi:
sudo systemctl start smbd
sudo systemctl enable smbd
Per verificare lo stato del servizio puoi eseguire:
sudo systemctl status smbd
In questo modo verrà installato, ma manca la configurazione.
Configurazione di Samba su Ubuntu 20.04
Per impostazione predefinita, il file di configurazione di Samba è /etc/samba/smb.conf . È un file ben documentato che solo leggendolo sapremo come manipolare.
Innanzitutto, fai un backup del file. Questo è consigliato perché se succede qualcosa di brutto possiamo sempre annullare le modifiche.
sudo cp /etc/samba/smb.conf{,.bak}
In questo post imparerai come configurare Samba per una cartella pubblica e una privata. In entrambi i casi, sarà ospitato su un server con indirizzo IP 192.168.1.43
Configura Samba e una cartella pubblica
Le cartelle pubbliche hanno un vantaggio ed è che possiamo abilitare l'accesso guest o anonimo. Questo non è sempre consigliato, ma ci sono casi in cui può essere molto utile.
Innanzitutto, crea la cartella con il nome che desideri nel percorso scelto.
sudo mkdir -p /var/public/
Ora è necessario indicare il proprietario della cartella. Poiché vogliamo che sia una cartella pubblica, diremo al sistema che non ha un proprietario e che non appartiene nemmeno a un gruppo di sistema;
sudo chown -R nobody:nogroup /var/public
Quindi assegnare le autorizzazioni corrispondenti. In questo caso, ti forniremo i permessi di lettura e scrittura.
sudo chmod -R 0777 /var/public
sudo chgrp sambashare /var/public
Quindi, crea un file di prova. Questo servirà a dimostrare che sei nella cartella remota.
sudo touch /var/public/test.txt
E ora sì, dobbiamo configurare Samba tramite il file di configurazione.
sudo nano /etc/samba/smb.conf
La prima cosa che dobbiamo fare è verificarlo sul campo Workgroup questo GRUPPO DI LAVORO è l'impostazione predefinita. Puoi cambiarlo, ma poi devi assicurarti di farlo su ogni computer. Quindi lascialo così com'è.
Alla fine del file aggiungi quanto segue:
[public] path = /var/public browseable = yes guest ok = yes guest only = yes read only = no force user = nobody force create mode = 0777 force directory mode = 0777

In questi valori indichiamo il percorso della cartella e impostiamo le opzioni. Che puoi navigare al suo interno, abilitare la lettura e la scrittura, accettare l'utente ospite e così via.
Salva le modifiche e per applicare le modifiche, riavvia Samba e controlla lo stato del servizio.
sudo systemctl restart smbd sudo systemctl status smbd

Quindi apri un browser di file sul tuo computer client e accedi utilizzando l'indirizzo IP.

Oppure aggiungendo il nome del server al file hosts di ogni client. Nel caso di Linux
sudo nano /etc/hosts
192.168.1.43 atechtown
Configurazione di Samba per una cartella privata
Ora è il momento di creare una nuova cartella privata in modo che l'accesso non sia pubblico.
Innanzitutto, crea nel sistema un gruppo dedicato a Samba.
sudo addgroup samba
Uscita:
Adding group 'samba' (GID 1002) …
Donate.
Ricorda che puoi cambiare il nome samba con un altro che specifichi.
Quindi aggiungi l'utente corrente al gruppo appena creato.
sudo usermod -aG samba user
Samba gestisce le password degli utenti indipendentemente dal sistema, quindi è necessario assegnare una password samba a questo utente.
sudo smbpasswd -a user
Uscita:
New SMB password:
Retype new SMB password:
Added user user.
Puoi assegnare la stessa password utilizzata da questo utente per l'accesso o un'altra.
Un'altra alternativa è creare un nuovo utente di sistema e aggiungerlo al gruppo creato.
Ad esempio:
sudo useradd -m -s/bin/bash -G samba user2
E assegna una nuova password di sistema
sudo passwd user2
E poi la password Samba.
sudo smbpasswd -a user2
Ora quello che segue è creare la cartella che condivideremo
sudo mkdir -p /smb/private
Sentiti libero di cambiare il nome e la posizione della cartella.
Quindi, cambia il proprietario in root e aggiungilo al gruppo samba.
sudo chown -R root:samba /smb/private
E assegna le autorizzazioni corrispondenti
sudo chmod -R 0770 /smb/private
Ora devi aggiungere alcuni parametri al file di configurazione di samba.
sudo nano /etc/samba/smb.conf
E aggiungi quanto segue
[Private] path = /smb/private valid users = @samba guest ok = no writable = yes browsable = yes

In questo caso la configurazione è abbastanza simile ma la presenza degli utenti validi la direttiva limita la disponibilità della cartella agli utenti appartenenti al gruppo che abbiamo creato.
Salva le modifiche e chiudi il file.
Per applicare le modifiche, riavvia il servizio Samba
sudo systemctl restart smbd
E torna al tuo computer e prova ad accedere alla cartella

Come puoi vedere, il sistema salta un messaggio che indica che devi effettuare l'accesso. Quando lo fai, la cartella sarà disponibile.
Conclusione
Samba è uno strumento molto utile negli ambienti aziendali ma anche in piccole reti come una casa. In questo senso, la configurazione in Ubuntu 20.04 è qualcosa alla portata di molti e grazie a questo post hai imparato a farlo.