Introduzione

Se il vostro intento è installare Samba su di un server in remoto continuate a leggere, altrimenti se volete installare Samba sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno della password per l'autenticazione.

Per connettersi al server come utente root digitare questo comando:
ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di 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 il primo parametro:
ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

Siete ora connessi al vostro server, siete pronti per iniziare l'installazione di Samba.

Samba

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 18.04 LTS.

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.7.6.
Per controllare la versione di Samba installare, eseguire:
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

L'installazione e la configurazione di Samba su Ubuntu 18.04 LTS.