Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Server/Samba"
Differenze tra le versioni 43 e 45 (in 2 versioni)
Versione 43 del 26/03/2022 11.59.14
Dimensione: 8761
Autore: ivantu
Commento: ulteriori modifiche
Versione 45 del 01/02/2026 21.42.08
Dimensione: 8163
Commento: importati paragrafi + varie info da ProvaServerSamba
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Server/ConfigurareSamba
##docs intrepid lucid maverick
Linea 4: Linea 2:
#LANGUAGE it #language it
<<Indice(depth=2)>>
Linea 6: Linea 5:
<<Indice>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=166654"; rilasci="20.04 9.04 8.10 8.04")>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=166654"; rilasci="22.04 24.04 25.10")>>
Linea 11: Linea 9:
'''Samba''' è una suite di strumenti utilizzati per la condivisione tra reti miste windows linux, implementando il protocollo di rete SMB, il quale è il cuore del networking Windows. '''Samba''' è un software libero che fornisce servizi di condivisione (principalmente di file e stampanti) attraverso il protocollo '''[[https://it.wikipedia.org/wiki/Server_Message_Block|SMB]]''' in regime di interoperabilità fra diversi sistemi operativi.
Linea 13: Linea 11:
Solitamente si avrà bisogno di '''samba''' per:

 * agire come un client con server Windows: accesso a file e stampanti remote condivisi,
 * agire da server per client Windows: condividere cartelle e stampanti, incluse pseudo-stampanti PDF,
 * agire da controllore di domini in una rete Windows (autenticazione degli utenti, etc.),
 * fare qualcosa di più complesso, come per esempio usare un controller Windows di domini per autenticare gli utenti di una macchina Linux.

= Installazione =

[[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://samba|samba]] e [[apt://smbfs|smbfs]].

= Configurazione =

Tutti i parametri di configurazione di '''samba''', sono modificabili in un [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] nel file `/etc/samba/smb.conf`.
Questa guida spiega come condividere all'interno di una rete una o più cartelle tramite '''Samba''' in pochi semplici passaggi. Ciò consente l'accesso a più dispositivi con diversi sistemi operativi (Windows, MacOS, GNU/Linux, ma anche Unix, Solaris, Android ed altri).<<BR>>
Per un uso avanzato di '''Samba''' e '''smb''' si rimanda alle relative documentazioni.
Linea 29: Linea 15:
Ogni volta che si apportano delle modifiche al file sopra citato è necessario [[AmministrazioneSistema/Systemd|riavviare il servizio]] di '''samba''' Qualora richiesto, nelle reti Windows il nome preimpostato per il gruppo di lavoro è solitamente «'''WORKGROUP'''».
Linea 32: Linea 18:
Digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo systemctl restart smbd.service
}}} oppure:{{{
sudo systemctl restart nmbd.service
= Tramite file manager Nautilus =

== Configurazioni prelimiari ==

 0. '''Ubuntu 22.10 e successive''': Assicurarsi di aver [[AmministrazioneSistema/InstallareProgrammi|installato]] il pacchetto [[apt://nautilus-share|nautilus-share]] e le relative dipendenze.
 0. Aggiungere il proprio utente al gruppo '''sambashare''' digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
sudo adduser $USER sambashare
}}}
 {{{#!wiki note
Benché questo passaggio sia facoltativo, si consiglia di eseguirlo per evitare errori in fase di condivisione della cartella (es.: `‘net usershare’ return error 255`).}}}
 0. Impostare una password (verrà chiesta 2 volte):{{{
sudo smbpasswd -a $USER
}}}
 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/samba/smb.conf`.
 0. Aggiungere dopo la riga `workgroup = WORKGROUP`:{{{
force user = NOME_UTENTE
}}}sostituendo la dicitura `NOME_UTENTE` con il nome del proprio utente.
 0. Decommentare la riga `# usershare max shares = 100` togliendo il simbolo `#` in modo che risulti:{{{
usershare max shares = 100
}}}
 0. Salvare e chiudere il file.
 0. Riavviare il servizio '''smbd''':{{{
sudo service smbd restart
}}}
 0. Verificare eventuali errori in `/etc/samba/smb.conf`:{{{
testparm
}}}
 0. Fare nuovamente login o riavviare il sistema per ottenere le autorizzazioni del gruppo '''sambashare'''.

== Condividere cartella ==

 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] '''Nautilus''' e fare clic destro sulla cartella da condividere per selezionare '''Opzioni condivisione'''.
 0. '''Ubuntu 22.04:''' verrà chiesto di installare il pacchetto ''samba''. Procedere quindi con le istruzioni a schermo.
 0. Nella finestra di dialogo che verrà aperta:
  * Selezionare la voce '''Condividi questa cartella'''.
  * Indicare un nome per la condivisione (''facoltativo; in caso contrario verrà utilizzato il nome stesso della cartella'').
  * Impostare eventuali autorizzazioni per altri utenti.
 0. Fare clic su '''Crea condivisione'''.
 0. Verificare digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
net usershare info --long
Linea 38: Linea 60:
== Sezione global == = Da linea di comando =
Linea 40: Linea 62:
La sezione '''[global]''' si trova sempre all'inizio della configurazione del file `/etc/samba/smb.conf`. Di seguito sono descritti i passaggi utili per creare una cartella condivisa denominata semplicemente «`Condivisa`» con l'ipotetico utente '''mario''' (cambiare questi nomi con quelli effettivi).
Linea 42: Linea 64:
I principali parametri del server:{{{
[global]
    allow hosts = 192.168.1.0/24 # Range di IP che possono accedere al server
    workgroup = WORKGROUP # Nome del gruppo di lavoro
    netbios = SAMBA # Nome della macchina nel gruppo di lavoro
    security = USER # Livello di sicurezza delle condivisioni
    server string = FILE SERVER # Descrizione della macchina
    create mask = 0755 # Permessi sulle cartelle
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://samba|samba]] e relative dipendenze.
 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] nella propria '''Home''' la cartella `Condivisa`.
 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/samba/smb.conf`.
 0. 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 = yes`) e con i permessi di scrittura (`writeble = yes`).
 {{{#!wiki note
È possibile cambiare a piacimento queste impostazioni modificando i parametri `yes` in `no` o viceversa, oppure utilizzandone altri (per un elenco esaustivo consultare la [[https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html|guida]] sul sito ufficiale del progetto, oppure [[https://guide.debianizzati.org/index.php/SAMBA:_configurazione_lato_server#Il_file_smb.conf|questa guida]] più sintetica).<<BR>>
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).
}}}
 0. Aggiungere il proprio utente al gruppo '''sambashare''' digitando nel [[AmministrazioneSistema/Terminale|terminale]]:{{{
sudo adduser $USER sambashare
}}}
 {{{#!wiki note
L'output potrebbe riportare che l'utente risulta già aggiunto al gruppo. Ciò tuttavia non influisce sulla procedura.
}}}
 0. Per impostare una password per '''samba''' digitare (verrà chiesto di inserirla due volte):{{{
sudo smbpasswd -a mario
}}}
 {{{#!wiki important
Si raccomanda di utilizzare una password diversa da quella in uso per il proprio utente amministratore.
}}}
 0. Riavviare il servizio con il comando:{{{
sudo systemctl restart smbd
Linea 52: Linea 96:
{{{#!wiki note
Nel parametro «security» si poteva utilizzare in alternativa il valore «SHARE» in modo da creare condivisioni liberamente accessibili, senza necessità di autenticazioni.
= Accedere alla cartella condivisa =

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

 * '''Windows:''' cercare la cartella condivisa nei dispositivi di rete in '''File'''/'''Esplora Risorse''' oppure digitare nella barra degli indirizzi di quest'ultimo `\\nome_host\nome_cartella_condivisa` oppure `\\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 `smb://nome_host/nome_cartella_condivisa` oppure `smb://indirizzo-IP/nome_cartella_condivisa`.
 * '''Da GUI 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'[[AmbienteGrafico|ambiente]] grafico e/o del [[AmbienteGrafico/FileManager|file manager]] in uso).
 * '''Da terminale con Ubuntu''':
  0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://smbclient|smbclient]], se non presente.
  0. 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.

{{{#!wiki tip
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.
Linea 56: Linea 119:
== Sezione condivisione ==

Esistono sostanzialmente due metodi per condividere una cartella.<<BR>>Quello più rapido è '''''tasto destro → condividi cartella''''' ed in seguito impostare i [[AmministrazioneSistema/PermessiFile|permessi]] su di essa.

=== Cartelle/Home ===

 * Aggiungere la cartella nel file di configurazione `/etc/samba/smb.conf`:{{{
[shared]
    comment = Cartella condivisa # Commento sulla condivisione
    path = /cartella/da/condividere # Percorso della condivisione
    browseable = yes # Rende visibile la condivisione
    public = yes # Rende la cartella accessibile
    create mask = 0755 # Permessi dei file
}}}

{{{#!wiki note
Dove `/cartella/da/condividere` è la directory da condividere.
}}}

 * Anche se sconsigliato, è possibile condividere per interno la `/home` di un utente. Aggiungere:{{{
[homes]
    comment = Home condivisa # Commento sulla condivisione
    browseable = yes # Rende visibile la condivisione
    valid users = %S # Utente che vi può accedere
    create mask = 0700 # Permessi dei file
    directory mask = 0700 # Permessi della home
}}}

=== Dispositivi ===

==== Stampante ====

Il sistema migliore per condividere una stampante è tramite '''IPP'''.<<BR>>Modificare con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] il file `/etc/samba/smb.conf`.

 * Aggiungere i seguenti parametri nella sezione '''[Global]''':{{{
printing = cups # Server di sampa utilizzato
load printers = yes # Caricare le stampanti
}}}

 * Creare la sezione '''[Printers]''':{{{
[printers]
   path = /var/spool/samba # Percorso dello spool di stampa
   printable = yes # Stampante disponibile
}}}

 * Creare la sezione per la specifica stampante:{{{
[HP]
   comment = HP Printer # Commento sulla condivisione
   path = /var/spool/samba # Percorso dello spool di stampa
   browsable = yes # Permette la visualizzazione della lista delle risorse condivise
}}}

Di default, Ubuntu, non crea la cartella `/var/spool/samba`.

 * [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella, ed impostare i [[AmministrazioneSistema/PermessiFile|permessi di accesso]]:{{{
sudo mkdir /var/spool/samba
sudo chmod -R 755 /var/spool/samba
}}}

==== Dispositivi di lettura ====

È anche possibile condividere un supporto di lettura come il dvd oppure il cd:{{{
[dvd]
   comment = Lettore DVD+R # Commento sulla condivisione
   preexec = mount /media/cdrom # Azione compiuta dopo la connessione alla condivisione
   postexec = umount /media/cdrom # Azione compiuta dopo la disconnessione alla condivisione
   path = /media/cdrom # Percorso della condivisione
   writable = no # Se la condivisione è modificabile
}}}

= Montare condivisione =

Per montare una condivisone '''samba''' presente su un altro file server, si utilizza il '''smbmount''' presente nel pacchetto, digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
smbmount //SERVER/condivisione /punto/di/mount
}}}

{{{#!wiki note
Dove `/punto/di/mount/` è una directory creata con [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] solitamente in `/media`.<<BR>>`//SERVER/condivisione` è l'indirizzo IPP server, con seguito della cartella di condivisione.
}}}

= Autenticazione =

Esistono due possibilità per accedere ad una condivisione '''samba''', la prima è quella di creare un utente '''samba virtuale''' tramite in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo smbpasswd -a utente
}}}

mentre il secondo è quello di accedere alle condivisioni tramite utente '''guest''', aggiungendo alla sezione nel file `smb.conf` il parametro '''guest ok = yes'''

== Gestione utenti samba ==

Tutta la gestione degli utenti '''samba''' viene fatta tramite il comando '''smbpasswd''', da dove è possibile creare oppure eliminare utenti, per maggiori informazioni riguardo al comando:{{{
man smbpasswd
}}}

= Gestione client =

'''smbclient''' è un programma molto simile a client ftp da terminale, serve per visualizzare o connettersi a condivisioni '''samba''' presenti su server.

uno dei comandi più utilizzati è:{{{
sudo smbclient -L IPServer
}}}

che permette di vedere tutte le cartelle condivise su un dato server.

== Connessione al server ==

Per connettersi ad un server samba si usa:{{{
smbclient //SERVER/condivisione
}}}

Come detto prima i comandi del prompt sono uguali a quelli utilizzatati dal ftp in più mette a disposizione utilissimi tool per la gestione dei file, tramite il comando '''help''' è possibile avere maggiori informazioni riguardo ai comandi.

= Log di samba =

Tutti i log di samba sono presenti nella cartella `/var/log/samba`, suddivisi in tre categorie, la prima è `log.nmbd` dove vengono annotate tutte le operazioni '''NETBIOS''', il secondo è `log.smbd` dove vengono registrate tutte le operazioni sui protocolli '''SMB/CIFS''' e per finire per ogni connessione instaurata con client o server '''samba''' crea un file di log chiamati `log.[IP_ADDRESS]`

= Interfaccia web =

'''Samba''' dispone di anche un interfaccia web chiamata '''swat''' ''('''S'''amba '''W'''eb '''A'''dministration '''T'''ool)'', il pacchetto è [[AmministrazioneSistema/InstallareProgrammi|installabile]] dai [[Repository| repository ufficiali]].
Per accedere all'interfaccia web di '''samba''' inserire nella barra di navigazione di un [[InternetRete/Navigazione| Browser Web]] l'indirizzo:{{{
localhost:901
}}}
##= Soluzione dei problemi =
Linea 181: Linea 123:
 * [[http://www.samba.org/|Sito web di Samba]]  * [[https://www.samba.org/|Sito ufficiale]]
 * [[https://it.
wikipedia.org/wiki/Samba_(software)|Voce enciclopedica]]
Linea 183: Linea 126:
 * [[https://wiki.archlinux.org/title/Samba|Samba su wiki Arch]]
Linea 184: Linea 128:
----
---- 


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 in pochi semplici passaggi. 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».

Tramite file manager Nautilus

Configurazioni prelimiari

  1. Ubuntu 22.10 e successive: Assicurarsi di aver installato il pacchetto nautilus-share e le relative dipendenze.

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

    sudo adduser $USER sambashare

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

  3. Impostare una password (verrà chiesta 2 volte):

    sudo smbpasswd -a $USER
  4. Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/samba/smb.conf.

  5. Aggiungere dopo la riga workgroup = WORKGROUP:

    force user = NOME_UTENTE

    sostituendo la dicitura NOME_UTENTE con il nome del proprio utente.

  6. Decommentare la riga #   usershare max shares = 100 togliendo il simbolo # in modo che risulti:

    usershare max shares = 100
  7. Salvare e chiudere il file.
  8. Riavviare il servizio smbd:

    sudo service smbd restart
  9. Verificare eventuali errori in /etc/samba/smb.conf:

    testparm
  10. Fare nuovamente login o riavviare il sistema per ottenere le autorizzazioni del gruppo sambashare.

Condividere cartella

  1. Avviare Nautilus e fare clic destro sulla cartella da condividere per selezionare Opzioni condivisione.

  2. Ubuntu 22.04: verrà chiesto di installare il pacchetto samba. Procedere quindi con le istruzioni a schermo.

  3. Nella finestra di dialogo che verrà aperta:
    • Selezionare la voce Condividi questa cartella.

    • Indicare un nome per la condivisione (facoltativo; in caso contrario verrà utilizzato il nome stesso della cartella).

    • Impostare eventuali autorizzazioni per altri utenti.
  4. Fare clic su Crea condivisione.

  5. Verificare digitando nel terminale:

    net usershare info --long

Da linea di comando

Di seguito sono descritti i passaggi utili per creare una cartella condivisa denominata semplicemente «Condivisa» con l'ipotetico utente mario (cambiare questi nomi con quelli effettivi).

  1. Installare il pacchetto samba e relative dipendenze.

  2. Creare nella propria Home la cartella Condivisa.

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

  4. 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 = yes) 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).

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

    sudo adduser $USER sambashare

    L'output potrebbe riportare che l'utente risulta già aggiunto al gruppo. Ciò tuttavia non influisce sulla procedura.

  6. Per impostare una password per samba digitare (verrà chiesto di inserirla due volte):

    sudo smbpasswd -a mario

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

  7. Riavviare il servizio con il comando:

    sudo systemctl restart smbd

Accedere alla cartella condivisa

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

  • Windows: cercare la cartella condivisa nei dispositivi di rete in File/Esplora Risorse oppure digitare nella barra degli indirizzi di quest'ultimo \\nome_host\nome_cartella_condivisa oppure \\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 smb://nome_host/nome_cartella_condivisa oppure smb://indirizzo-IP/nome_cartella_condivisa.

  • Da GUI 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.

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.

Ulteriori risorse


CategoryServer CategoryInternet