Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 22.04 24.04 25.10

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Samba è un software libero che fornisce servizi di condivisione (principalmente di file e stampanti) attraverso il protocollo SMB, in regime di interoperabilità fra diversi sistemi operativi.

Questa guida spiega come condividere all'interno di una rete una o più cartelle tramite Samba. Ciò consente l'accesso a più dispositivi con diversi sistemi operativi (Windows, MacOS, GNU/Linux, ma anche Unix, Solaris, Android ed altri).
Per un uso avanzato di Samba e smb si rimanda alle relative documentazioni.

Qualora richiesto, nelle reti Windows il nome preimpostato per il gruppo di lavoro è solitamente «WORKGROUP».

Preparativi

Installazione samba

  1. Installare il pacchetto samba.

  2. Aggiungere il proprio utente al gruppo sambashare digitando nel terminale:

    sudo adduser $USER sambashare
    e ignorare un eventuale output che riporta l'utente come già facente parte del gruppo.

    Benché questo passaggio sia facoltativo, si consiglia di eseguirlo per evitare errori in fase di condivisione della cartella (es.: ‘net usershare’ return error 255).

Password (opzionale)

A seconda delle opzioni di condivisione che si andranno successivamente a scegliere, potrebbe essere necessario impostare una password per accedere alla cartella condivisa.
Per impostare una password digitare (verrà chiesto di inserirla due volte):

sudo smbpasswd -a nome_utente

sostituendo nome_utente con quello effettivo.

Si raccomanda di utilizzare una password diversa da quella in uso per il proprio utente amministratore.

Condividere cartella

Con file manager Nautilus

Solo per Ubuntu 22.04 è possibile saltare i primi due passaggi.

  1. Installare il pacchetto nautilus-share.

  2. Per assicurarsi che Nautilus carichi le funzionalità di condivisione, chiuderlo con il comando da terminale:

    nautilus -q
  3. Avviare Nautilus e fare clic destro sulla cartella da condividere per selezionare Opzioni condivisione.

  4. Nella finestra di dialogo che verrà aperta potranno essere selezionate le seguenti impostazioni:
    • Condividi questa cartella. Indicare un nome per la condivisione (facoltativo; in caso contrario verrà utilizzato il nome stesso della cartella).

    • Permetti ad altri di creare e cancellare file nella cartella.
    • Accesso per gli ospiti (per utenti senza account). Se si vuole libero accesso alla cartella senza utilizzare una password. In caso contrario lasciarla deselezionata e impostare una password, se non fatto in precedenza.

  5. Fare clic su Crea condivisione.

Da terminale

Sono qui descritti i passaggi per creare e condividere una cartella denominata Condivisa con l'ipotetico utente mario (cambiare questi nomi con quelli effettivi).

  1. Creare nella propria Home la cartella Condivisa.

  2. Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/samba/smb.conf.

  3. Scorrere in fondo al file e inserire le seguenti righe:

    [Condivisa]
        path = /home/mario/Condivisa
        read only = no
        browseable = yes
        guest ok = no
        writeble = yes

    Con queste impostazioni la cartella /home/mario/Condivisa sarà accessibile in lettura/scrittura (read only = no), visibile a tutti i dispositivi nella rete (browseable = yes), con l'accesso agli ospiti disabilitato (guest ok = no, è pertanto necessaria una password) e con i permessi di scrittura (writeble = yes).

    È possibile cambiare a piacimento queste impostazioni modificando i parametri yes in no o viceversa, oppure utilizzandone altri (per un elenco esaustivo consultare la guida sul sito ufficiale del progetto, oppure questa guida più sintetica).
    In questo caso i nomi della cartella e della condivisione coincidono («Condivisa»); è tuttavia possibile scegliere un nome diverso (nella rete verrà visualizzato il nome nelle parentesi quadre).

Avviare condivisione

Una volta effettuate tutte le impostazioni necessarie, riavviare il servizio smbd per avviare la condivisione della cartella. Digitare il seguente comando:

sudo systemctl restart smbd

Si consiglia di verificare i parametri della cartella condivisa.

Accedere alla cartella condivisa

I metodi per accedere alla cartella condivisa sono diversi in base al sistema utilizzato. A seconda del tipo di permessi impostati, potrebbe essere richiesto di inserire nome utente e password. Di seguito sono elencati i casi più frequenti.

  • Da interfaccia grafica su Ubuntu e altri sistemi GNU/Linux: cercare nel gestore di file la cartella condivisa nella sezione delle condivisioni di rete (di aspetto diverso a seconda dell'ambiente grafico e/o del file manager in uso).

  • Da terminale con Ubuntu:

    1. Installare il pacchetto smbclient, se non presente.

    2. Digitare uno dei due comandi, a seconda dei casi:

      smbclient //nome_host/nome_cartella_condivisa -U nome_utente
      smbclient //IP/nome_cartella_condivisa -U nome_utente

      sostituendo come nei seguenti esempi:

      smbclient //PC_ufficio/Documenti_condivisi -U mario
      smbclient //192.168.1.100/VideoCondivisi -U paolo

      Sarà possibile utilizzare i principali comandi come ls (per elencare cartelle e file), cd (per cambiare directory), get (per scaricare file), ecc.

  • Windows: cercare la cartella condivisa nei dispositivi di rete in File/Esplora Risorse oppure digitare nella barra degli indirizzi di quest'ultimo a seconda dei casi:

    \\nome_host\nome_cartella_condivisa
    \\indirizzo-IP\nome_cartella_condivisa
  • MacOS: cercare la cartella condivisa nella sezione Rete di Finder oppure seguire il menu Vai → Connetti al Server, quindi inserire a seconda dei casi:

    smb://nome_host/nome_cartella_condivisa
    smb://indirizzo-IP/nome_cartella_condivisa

In maniera analoga sarà possibile accedere alla cartella condivisa da svariati tipi di dispositivi (smartphone, tablet, Smart TV, media center, server, ecc.), oppure da programmi specifici installati su altri computer (VLC, Kodi, ecc.). Se necessario consultare la relativa manualistica.

Comandi utili

Test della condivisione

  • Per visualizzare le opzioni di condivisione digitare il comando:

    net usershare info --long
  • Per verificare eventuali errori in /etc/samba/smb.conf digitare:

    testparm

Gestione servizi Samba

Nella tabella seguente sono elencati alcuni comandi utili per la gestione del servizio smbd:

Servizio

Comando

Stato

sudo systemctl status smbd.service

Avvio

sudo systemctl start smbd.service

Arresto

sudo systemctl stop smbd.service

Riavvio

sudo systemctl restart smbd.service

Ricaricamento

sudo systemctl reload smbd.service

Abilitazione

sudo systemctl enable smbd.service

Disabilitazione

sudo systemctl disable smbd.service

Blocco

sudo systemctl mask smbd.service

Sblocco

sudo systemctl unmask smbd.service

Ulteriori risorse


CategoryServer CategoryInternet