• Immutable Page
  • Info
  • Attachments

Richiesta revisione stilistica: Questo articolo non rispetta le regole stilistiche descritte nella pagina RegoleStilistiche.

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.);
  • usare un controller Windows di domini per autenticare gli utenti di una macchina Linux, e molto altro ancora...

Installazione

Per creare una propria rete con samba, bisogna creare un server sul computer principale.
Il server è il componente che eroga il servizio, per esempio un server di mail.
I restanti computer della rete sono detti client. Essi accedono al servizio che mette a disposizione il server.
Stiamo parlando, anche, di condivisione di dati. Il server condivide i dati con i client.

Installare il pacchetto samba
Installare il pacchetto smbfs

Connessioni tra client e server

Se si desidera connettersi alla macchina server si hanno a disposizione due metodi differenti:

  • tramite la linea di comando con smbclient.

  • montando il file system di samba via smbfs.

Connettersi da linea di comando

Ubuntu si connetterà ad un server Samba "out of the box" tramite il comando smbclient, simile ad una connessione FTP.

Una volta connessi si possono usare comandi come: ls, cd, put e get.

Connettersi tramite smbfs

Questo pacchetto permette ai clienti di montare in locale una condivisione di file con Samba in modo da apparire come se una partizione fosse localmente disponibile sulla propria macchina.
La maggior parte degli utenti di Samba preferisce questo metodo.

Configurazione

Da Ubuntu 8.04 e successive, la condivisione di cartelle è insita direttamente in Nautilus:

  1. Recarsi nella cartella che si vuole condividere.
  2. Fare clic con il pulsante destro del mouse sulla cartella e scegliere Opzioni di condivisione.

  3. Spuntare l'opzione Condividi questa cartella e fare clic su Crea condivisione

Ora samba è pronto per condividere file e cartelle in facilità. Per configurazioni più avanzate seguire i prossimi paragrafi.

Configurazione avanzata

Tutti i parametri di configurazione di Samba sono presenti nel file /etc/samba/smb.conf, modificabile con un editor di testo e con i privilegi di amministrazione.
Ogni volta che si apportano delle modifiche al file sopra citato è necessario riavviare il servizio di Samba, digitando da riga di comando:

sudo /etc/init.d/samba restart

Autenticazione

Esistono due possibilità per accedere ad una condivisione samba, la prima è quella di creare un utente samba "virtuale" tramite il 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.

Sezione global

La sezione [global] si trova sempre all'inizio della configurazione del file /etc/samba/smb.conf e racchiude 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.

Montare condivisione

Per montare una condivisone Samba presente su un altro file server, si utilizza il comando smbmount presente nel pacchetto smbfs:

smbmount //SERVER/condivisione  /punto/di/mount

Dove /punto/di/mount/ è una directory creata con privilegi di amministrazione solitamente in /media.

Condivisioni dei dispositivi

Condividere cartella

Esistono sostanzialmente due metodi per condividere una cartella, il primo più rapido e veloce, mentre il secondo modificando il file di configurazione di samba

  1. Quello più rapido è tasto destro -> condividi cartella ed in seguito impostare i permessi su di essa.

  2. Mentre il secondo metodo è quello di aggiungere la cartella nel file di configurazione di samba.

 [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

Condivisione Home

Anche se sconsigliato è possibile condividere per interno la home di un utente.

 [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

Condivisione stampante tramite samba

Il sistema migliore per condividere una stampante è tramite IPP quello che è stato spiegato prima, però c'è anche la possibilità di condivisione tramite samba, con un editor di testo modificare il file /etc/samba/smb.conf ed aggiungere i seguenti parametri nella sezione [Global]

printing = cups         # Server di sampa utilizzato
load printers = yes     # Caricare le stampanti

Inoltre bisogna creare la sezione [Printers]

[printers]
    path = /var/spool/samba    # Percorso dello spool di stampa
    printable = yes            # Stampante disponibile

Poi 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 quindi la si deve creare a mano, ed impostando i permessi di accesso.

sudo mkdir /var/spool/samba
sudo chmod -R 755 /var/spool/samba

Condividere 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 

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 Administation Tool), il pacchetto è installabile dai repository ufficiali.

  • Per installare swat eseguire questo comando da terminale:

    sudo apt-get install swat xinetd
  • Riavviare xinetd:

    dpkg-reconfigure xinetd
  • Per accedere all'interfaccia web di samba inserire nella barra di navigazione di un Browser Web l'indirizzo

    localhost:901

Ulteriori risorse


CategoryHomepage