GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare una condivisione Samba su Ubuntu 20.04

Samba, noto anche come "Server Message Block", è un protocollo di file system Internet comune utilizzato per condividere file, directory e servizi di stampa su una rete su Linux. Ti consente di concedere autorizzazioni di lettura, scrittura e accesso anonimo su una directory condivisa. È estremamente utile per coloro che utilizzano entrambi i sistemi Windows e Linux sulla propria rete.

In questo post spiegheremo come installare e utilizzare Samba per condividere file e directory su Ubuntu 20.04.

Prerequisiti

  • Un nuovo server Ubuntu 20.04 sulla piattaforma Atlantic.Net Cloud
  • Una password di root configurata sul tuo server

Fase 1:crea un server cloud Atlantic.Net

Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 20.04 come sistema operativo con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.

Dopo aver effettuato l'accesso al tuo server Ubuntu 20.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.

apt-get update -y

Fase 2 – Installa Samba Server

apt-get install samba samba-common-bin acl -y

Una volta installati, avvia i servizi Samba e abilitali all'avvio al riavvio del sistema:

systemctl start smbd nmbd
systemctl enable smbd nmbd

Puoi controllare la versione installata di Samba con il seguente comando:

smbd --version

Uscita:

Version 4.11.6-Ubuntu

Fase 3:crea una condivisione privata con Samba

In questa sezione, ti mostreremo come creare una condivisione privata utilizzando Samba in modo che solo gli utenti autenticati possano accedere alla condivisione.

Per farlo, modifica il file di configurazione principale di Samba:

nano /etc/samba/smb.conf

Quindi, aggiungi le seguenti righe alla fine del file:

[Private]
comment = private share
path = /data/private/
browseable = yes
guest ok = no
writable = yes
valid users = @samba

Salva e chiudi il file, quindi crea un nuovo utente con il seguente comando:

adduser user1

Dovresti vedere il seguente output:

Adding user `user1' ...
Adding new group `user1' (1000) ...
Adding new user `user1' (1000) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for user1
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y

Quindi, imposta una password Samba con il seguente comando:

smbpasswd -a user1

Dovresti vedere il seguente output:

New SMB password:
Retype new SMB password:
Added user user1.

Quindi, crea un gruppo Samba con il seguente comando:

groupadd samba

Quindi, aggiungi utente1 al gruppo samba:

gpasswd -a user1 samba

Quindi, crea una cartella condivisa che hai specificato nel file smb.conf:

mkdir -p /data/private
touch /data/private/file1

Quindi, fornisci i permessi di lettura e scrittura alla condivisione Samba:

setfacl -R -m "g:samba:rwx" /data/private

Quindi, controlla il file di configurazione di Samba per eventuali errori con il seguente comando:

testparm

Quindi, riavvia il servizio Samba per applicare le modifiche:

systemctl restart smbd nmbd

Fase 4:crea una condivisione pubblica con Samba

In questa sezione, ti mostreremo come creare una condivisione pubblica con Samba in modo che tutti possano accedere alla condivisione pubblica senza fornire nome utente e password.

Per creare una condivisione pubblica, modifica il file di configurazione principale di Samba:

nano /etc/samba/smb.conf

Aggiungi le seguenti righe alla fine del file:

[Public]
comment = public share
path = /data/public/
browseable = yes
writable = yes
guest ok = yes

Salva e chiudi il file, quindi crea una directory pubblica:

mkdir -p /data/public/
touch /data/public/file2

Quindi, imposta le autorizzazioni appropriate sulla directory pubblica:

setfacl -R -m "u:nobody:rwx" /data/public

Quindi, riavvia il servizio Samba per applicare le modifiche:

systemctl restart smbd nmbd

Passaggio 5:accedi a Samba Share da Linux

Per accedere alla condivisione Samba, dovrai installare il client Samba sul sistema Linux. Puoi installarlo usando il seguente comando:

apt-get install smbclient cifs-utils -y

Quindi, esegui il seguente comando per accedere alla condivisione privata dal server Samba:

smbclient //samba-ip-address/private -U user1

Ti verrà chiesto di fornire una password per l'utente1:

Enter WORKGROUP\user1's password: 
Try "help" to get a list of possible commands.

Una volta connesso, esegui il seguente comando per elencare la condivisione Samba:

smb: \> list
0:	server=69.87.221.84, share=private

Quindi, elenca tutti i file nella directory di condivisione privata:

smb: \> ls

Dovresti vedere il seguente output:

  .                                   D        0  Sun Jun 27 08:17:58 2021
  ..                                  D        0  Sun Jun 27 08:18:13 2021
  file1                               N        0  Sun Jun 27 08:17:58 2021

		51538400 blocks of size 1024. 47348972 blocks available

Quindi, esci dalla shell Samba con il seguente comando:

smb: \> exit

Se vuoi connetterti alla condivisione pubblica, esegui il comando seguente:

smbclient //samba-ip-address/public

Basta premere Invio senza fornire alcuna password:

Enter WORKGROUP\root's password: 

Try "help" to get a list of possible commands.
smb: \>

Quindi, esegui il comando seguente per elencare tutti i file nella condivisione pubblica:

smb: \> ls

Uscita:

  .                                   D        0  Sun Jun 27 08:18:17 2021
  ..                                  D        0  Sun Jun 27 08:18:13 2021
  file2                               N        0  Sun Jun 27 08:18:17 2021

		51538400 blocks of size 1024. 47348972 blocks available

Passaggio 6:monta Samba Share su Linux

Samba consente inoltre di montare una directory condivisa sul sistema client in modo da poterla accedere e utilizzarla.

Innanzitutto, crea una directory sul sistema client in cui desideri montare la condivisione Samba:

mkdir /mount

Quindi, esegui il comando seguente per montare la directory di condivisione privata sul sistema client:

mount -t cifs -o username=user1 //samba-ip-address/private /mount

Ti verrà chiesto di fornire una password di utente1 per montare la directory:

Password for [email protected]//69.87.221.84/private:  ********* 

Quindi, verifica la directory montata con il seguente comando:

df -h

Dovresti vedere la tua directory condivisa privata montata nella directory /mount:

Filesystem              Size  Used Avail Use% Mounted on
udev                    981M     0  981M   0% /dev
tmpfs                   199M  2.2M  197M   2% /run
/dev/sda1                50G  1.9G   46G   4% /
tmpfs                   994M     0  994M   0% /dev/shm
tmpfs                   5.0M     0  5.0M   0% /run/lock
tmpfs                   994M     0  994M   0% /sys/fs/cgroup
tmpfs                   199M     0  199M   0% /run/user/0
//69.87.221.84/private   50G  4.0G   46G   9% /mount

Ora accedi alla condivisione Samba in locale usando il seguente comando:

ls /mount/

Dovresti vedere il seguente output:

file1

Conclusione

Nella guida sopra, hai imparato come installare Samba e usarlo per condividere file e directory tra sistemi Linux. Provalo con l'hosting VPS di Atlantic.Net!


Linux
  1. Come creare una condivisione di rete tramite Samba su Linux

  2. Come montare una condivisione Samba su Ubuntu e Debian

  3. Come installare EPrints su Ubuntu 20.04

  4. Come aggiornare Ubuntu 20.04 a Ubuntu 21.04

  5. Come creare un certificato SSL autofirmato su Ubuntu 18.04

Come installare Samba su Ubuntu 20.04 LTS

Come creare un utente Sudo su Ubuntu e Debian

Come creare ed eseguire uno script di shell in Ubuntu 22.04

Come condividere file tra Ubuntu e Windows 10?

Come installare Samba su Ubuntu 18.04 Bionic Beaver

Come installare Samba su Ubuntu 20.04