Guida verificata con Ubuntu: 20.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
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.
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
Installare i pacchetti samba e smbfs.
Configurazione
Tutti i parametri di configurazione di samba, sono modificabili in un editor di testo con i privilegi di amministrazione nel file /etc/samba/smb.conf.
Ogni volta che si apportano delle modifiche al file sopra citato è necessario riavviare il servizio di samba
Digitare in un terminale il seguente comando:
sudo systemctl restart smbd.service
oppure:
sudo systemctl restart nmbd.service
Sezione global
La sezione [global] si trova sempre all'inizio della configurazione del file /etc/samba/smb.conf.
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
Nel parametro «security» si poteva utilizzare in alternativa il valore «SHARE» in modo da creare condivisioni liberamente accessibili, senza necessità di autenticazioni.
Sezione condivisione
Esistono sostanzialmente due metodi per condividere una cartella.
Quello più rapido è tasto destro → condividi cartella ed in seguito impostare i 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
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.
Modificare con un editor di testo e con i 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.
Creare la cartella, ed impostare i 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 terminale il seguente comando:
smbmount //SERVER/condivisione /punto/di/mount
Dove /punto/di/mount/ è una directory creata con privilegi di amministrazione solitamente in /media.
//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 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 (Samba Web Administration Tool), il pacchetto è installabile dai repository ufficiali. Per accedere all'interfaccia web di samba inserire nella barra di navigazione di un Browser Web l'indirizzo:
localhost:901