Condividere file e cartelle su UBUNTU con SAMBA || Setting tramite GUI
Sommario:
- Prerequisiti
- Installazione di Samba su Ubuntu
- Configurazione del firewall
- Configurazione delle opzioni globali di Samba
- Creazione di utenti Samba e struttura delle directory
- Creazione di utenti Samba
- Configurazione delle condivisioni Samba
- Connessione a una condivisione Samba da Linux
- Utilizzo del client smbclient
- Montare la condivisione Samba
- Utilizzando la GUI
- Conclusione
Samba è una reimplementazione gratuita e open source del protocollo di condivisione dei file di rete SMB / CIFS che consente agli utenti finali di accedere a file, stampanti e altre risorse condivise.
Questo tutorial spiega come installare Samba su Ubuntu 18.04 e configurarlo come server autonomo per fornire la condivisione di file tra diversi sistemi operativi su una rete.
Creeremo le seguenti condivisioni e utenti Samba.
utenti:
- sadmin - Un utente amministrativo con accesso in lettura e scrittura a tutte le condivisioni. josh - Un utente normale con la propria condivisione di file privata.
azioni:
- utenti: questa condivisione sarà accessibile con le autorizzazioni di lettura / scrittura di tutti gli utenti. josh - Questa condivisione sarà accessibile con le autorizzazioni di lettura / scrittura solo dagli utenti josh e sadmin.
Le condivisioni di file saranno accessibili da tutti i dispositivi della rete. Più avanti in questo tutorial, forniremo anche istruzioni dettagliate su come connettersi al server Samba da client Linux, Windows e macOS.
Prerequisiti
Prima di continuare, assicurati di aver effettuato l'accesso al tuo sistema Ubuntu 18.04 come utente con privilegi sudo.
Installazione di Samba su Ubuntu
Samba è disponibile dai repository ufficiali di Ubuntu. Per installarlo sul tuo sistema Ubuntu, procedi nel seguente modo:
-
Inizia aggiornando l'indice dei pacchetti apt:
sudo apt update
Installa il pacchetto Samba con il seguente comando:
sudo apt install samba
Una volta completata l'installazione, il servizio Samba si avvierà automaticamente. Per verificare se il server Samba è in esecuzione, digitare:
sudo systemctl status smbd
L'output dovrebbe essere simile al seguente che indica che il servizio Samba è attivo e in esecuzione:
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…
A questo punto, Samba è stato installato e pronto per essere configurato.
Configurazione del firewall
Supponendo che tu stia utilizzando
UFW
per gestire il tuo firewall, puoi aprire le porte abilitando il profilo 'Samba':
Configurazione delle opzioni globali di Samba
Prima di apportare modifiche al file di configurazione di Samba, creare un backup per futuri scopi di riferimento:
sudo cp /etc/samba/smb.conf{,.backup}
Il file di configurazione predefinito fornito con il pacchetto Samba è configurato per il server Samba autonomo. Aprire il file e assicurarsi che il
server role
sia impostato su
standalone server
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…
Per impostazione predefinita, Samba è in ascolto su tutte le interfacce. Se si desidera limitare l'accesso al server Samba solo dalla propria rete interna, rimuovere il commento dalle due righe seguenti e specificare le interfacce a cui associarsi:
/etc/samba/smb.conf
… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…
Una volta terminato, eseguire l'utility
testparm
per verificare la presenza di errori nel file di configurazione di Samba. Se non ci sono errori di sintassi, vedrai il
Loaded services file OK.
Infine, riavvia i servizi Samba con:
sudo systemctl restart smbd
sudo systemctl restart nmbd
Creazione di utenti Samba e struttura delle directory
Per una più facile manutenibilità e flessibilità invece di usare le directory home standard (
/home/user
) tutte le directory e i dati di Samba saranno posizionati nella directory
/samba
.
Per creare il tipo di directory
/samba
:
sudo mkdir /samba
Imposta la proprietà del gruppo su
sambashare
. Questo gruppo viene creato durante l'installazione di Samba, in seguito aggiungeremo tutti gli utenti Samba a questo gruppo.
sudo chgrp sambashare /samba
Samba utilizza utenti Linux e sistema di autorizzazioni di gruppo ma ha un proprio meccanismo di autenticazione separato dall'autenticazione Linux standard. Creeremo gli utenti utilizzando lo strumento standard
useradd
Linux e quindi imposteremo la password dell'utente con l'utilità
smbpasswd
.
Come accennato nell'introduzione, creeremo un utente normale che avrà accesso alla sua condivisione di file privata e un account amministrativo con accesso in lettura e scrittura a tutte le condivisioni sul server Samba.
Creazione di utenti Samba
Per creare un nuovo utente chiamato
josh
utilizzare il seguente comando:
sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh
Le opzioni
useradd
hanno i seguenti significati:
-
-M
-non creare la home directory dell'utente. Creeremo manualmente questa directory.-d /samba/josh
- imposta la home directory dell'utente su/samba/josh
.-s /usr/sbin/nologin
- disabilita l'accesso alla shell per questo utente.-G sambashare
- aggiunge l'utente al grupposambashare
.
Crea la home directory dell'utente e imposta la proprietà della directory su user
josh
e group
sambashare
:
sudo mkdir /samba/josh
sudo chown josh:sambashare /samba/josh
Il comando seguente aggiungerà il bit setgid alla directory
/samba/josh
modo che i file appena creati in questa directory ereditino il gruppo della directory padre. In questo modo, indipendentemente dall'utente che crea un nuovo file, il file avrà il proprietario del gruppo di
sambashare
. Ad esempio, se non si impostano le autorizzazioni della directory su
2770
e l'utente
sadmin
crea un nuovo file, l'utente
josh
non sarà in grado di leggere / scrivere in questo file.
sudo chmod 2770 /samba/josh
Aggiungi l'account utente
josh
al database Samba impostando la password utente:
sudo smbpasswd -a josh
Ti verrà richiesto di inserire e confermare la password dell'utente.
New SMB password: Retype new SMB password: Added user josh.
Dopo aver impostato la password per abilitare l'esecuzione dell'account Samba:
sudo smbpasswd -e josh
Enabled user josh.
Per creare un altro utente, ripetere la stessa procedura utilizzata per la creazione dell'utente
josh
.
Quindi, creiamo un
sadmin
utente e di gruppo. Tutti i membri di questo gruppo avranno autorizzazioni amministrative. Successivamente, se si desidera concedere autorizzazioni amministrative a un altro utente, è sufficiente aggiungere tale utente al gruppo
sadmin
.
Crea l'utente amministrativo digitando:
sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin
Il comando sopra creerà anche un gruppo
sadmin
e aggiungerà l'utente a entrambi i gruppi
sadmin
e
sadmin
.
Imposta una password e abilita l'utente:
sudo smbpasswd -a sadmin
sudo smbpasswd -e sadmin
Quindi, crea la directory di condivisione
Users
:
sudo mkdir /samba/users
Impostare la proprietà della directory sull'utente
sadmin
e raggruppare
sadmin
:
sudo chown sadmin:sambashare /samba/users
Questa directory sarà accessibile a tutti gli utenti autenticati. Il seguente comando
chmod
dà accesso in scrittura / lettura ai membri del gruppo
sambashare
nella directory
/samba/users
:
Configurazione delle condivisioni Samba
Apri il file di configurazione di Samba e aggiungi le sezioni:
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin
Le opzioni hanno i seguenti significati:
-
path
- Il percorso della condivisione.browseable
:browseable
se la condivisione deve essere elencata nell'elenco delle condivisioni disponibili. Impostando suno
altro utente non sarà possibile vedere la condivisione.read only
: indica se gli utenti specificati nell'elenco deglivalid users
sono in grado di scrivere su questa condivisione.force create mode
: imposta le autorizzazioni per i file appena creati in questa condivisione.force directory mode
- Imposta le autorizzazioni per le directory appena create in questa condivisione.valid users
: un elenco di utenti e gruppi a cui è consentito accedere alla condivisione. I gruppi sono preceduti dal simbolo@
.
Per ulteriori informazioni sulle opzioni disponibili, consultare la pagina della documentazione del file di configurazione di Samba.
Una volta fatto, riavvia i servizi Samba con:
sudo systemctl restart smbd
sudo systemctl restart nmbd
Nelle sezioni seguenti, ti mostreremo come connettersi a una condivisione Samba da client Linux, macOS e Windows.
Connessione a una condivisione Samba da Linux
Gli utenti Linux possono accedere alla condivisione samba dalla riga di comando, utilizzando il file manager o montare la condivisione Samba.
Utilizzo del client smbclient
smbclient
è uno strumento che ti consente di accedere a Samba dalla riga di comando. Il pacchetto
smbclient
non è preinstallato sulla maggior parte delle distribuzioni Linux, quindi sarà necessario installarlo con il gestore dei pacchetti di distribuzione.
Per installare
smbclient
su Ubuntu e Debian eseguire:
sudo apt install smbclient
Per installare
smbclient
su CentOS e Fedora eseguire:
sudo yum install samba-client
La sintassi per accedere a una condivisione Samba è la seguente:
mbclient //samba_hostname_or_server_ip/share_name -U username
Ad esempio, per connettersi a una condivisione denominata
josh
su un server Samba con indirizzo IP
192.168.121.118
come
josh
utente, eseguire:
smbclient //192.168.121.118/josh -U josh
Ti verrà richiesto di inserire la password dell'utente.
Enter WORKGROUP\josh's password:
Dopo aver inserito la password, si accederà all'interfaccia della riga di comando di Samba.
Try "help" to get a list of possible commands. smb: \>
Montare la condivisione Samba
Per montare prima una condivisione Samba su Linux è necessario installare il pacchetto
cifs-utils
.
Su Ubuntu e Debian eseguire:
sudo apt install cifs-utils
Su CentOS e Fedora eseguire:
sudo yum install cifs-utils
Quindi, crea un punto di montaggio:
sudo mkdir /mnt/smbmount
Montare la condivisione utilizzando il seguente comando:
sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount
Ad esempio, per montare una condivisione denominata
josh
su un server Samba con indirizzo IP
192.168.121.118
come utente
josh
sul punto di montaggio
/mnt/smbmount
che avresti eseguito:
sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount
Ti verrà richiesto di inserire la password dell'utente.
Password for josh@//192.168.121.118/josh: ********
Utilizzando la GUI
File, il gestore file predefinito in Gnome ha un'opzione integrata per accedere alle condivisioni Samba.
- Apri File e fai clic su "Altre posizioni" nella
smb://samba_hostname_or_server_ip/sharename
. In "Connetti al server", inserisci l'indirizzo della condivisione Samba nel seguente formatosmb://samba_hostname_or_server_ip/sharename
.smb://samba_hostname_or_server_ip/sharename
"Connetti" e apparirà la seguente schermata:
Conclusione
In questo tutorial, hai imparato come installare il server Samba su Ubuntu 18.04 e come creare diversi tipi di utenti e condivisi. Ti abbiamo anche mostrato come connetterti al server Samba da dispositivi Linux, macOS e Windows.
Samba UbuntuCome installare e configurare un server nfs su Ubuntu 18.04

Network File System (NFS) è un protocollo di file system distribuito che consente di condividere directory remote su una rete. In questo tutorial, vedremo come impostare un server NFSv4 su Ubuntu 18.04.
Come installare e configurare redis su Ubuntu 18.04

Redis è un archivio di strutture di dati in memoria open source. Può essere usato come database, cache e broker di messaggi e supporta varie strutture di dati come stringhe, hash, liste, set, ecc. Questo tutorial descrive come installare e configurare Redis su un server Ubuntu 18.04.
Come installare e configurare samba su centos 7

In questo tutorial mostreremo come installare Samba su CentOS 7 e configurarlo come server autonomo per fornire la condivisione di file tra diversi sistemi operativi su una rete.