Samba: guida estesa: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
Nessun oggetto della modifica
 
(190 versioni intermedie di 10 utenti non mostrate)
Riga 1: Riga 1:
{{stub}}
{{SAMBA
==Introduzione==
|precedente=Samba: guida rapida
Samba e' un diffusissimo software open source ideato nel 1991 da Andrew Tridgell e rilasciato sotto licenza GPL che permette la condivisione di risorse come directory e stampanti tra macchine windows e GNU/Linux (UNIX); si avvale sostanzialmente del protocollo SMB (server message block) originario microsoft e basato a sua volta sul protocollo  NetBios (network basic input output system) sviluppato da IBM nel 1984.
|successivo=Samba e OpenLDAP: creare un controller di dominio}}{{Versioni compatibili}}{{SAMBA1}}


Si sceglie solitamente l'uso di Samba per poter condividere file e stampanti in una rete mista (macchine GNU/Linux, windows, mac os..), in modo da sfruttare un unico protocollo e un unico sistema di autenticazione.
== Introduzione ==
Samba è un diffusissimo software open-source, ideato nel 1991 da Andrew Tridgell e rilasciato sotto licenza GPL, che permette la condivisione di risorse come directory e stampanti fra gli host di una rete. Si avvale sostanzialmente del protocollo SMB (''server message block'') originario Microsoft, basato a sua volta sul protocollo  NetBios (''network basic input output system'') sviluppato da IBM nel 1984.
È un software semplicemente straordinario, la sua anima, il file <code>/etc/samba/smb.conf</code> è in perfetto stile Linux; cioè, lo stesso file, può divenire enorme e strutturatissimo oppure snello e semplicissimo, a seconda (''e questo è il vero stile Linux'') di quello che un utente vuole.


==La suite==
Si sceglie solitamente l'uso di Samba per poter condividere file e stampanti in una rete mista (''macchine GNU/Linux, MS-Windows, Mac OS..''), in modo da sfruttare un unico protocollo e un unico sistema di autenticazione.
Analizziamo i programmi che otteniamo dall' installazione della suite samba per Debian GNU/Linux:


<pre># apt-get update && apt-get install samba smbfs</pre>
{{Autori
|Autore = [[Utente:Zmo.zmo|zmo]]
|Estesa_da =
: [[Utente:Ferdybassi|Ferdybassi]]
: [[Utente:Wtf|Wtf]] 20:48, 9 nov 2011 (CET)
|Verificata_da =
: [[Utente:Wtf|Wtf]]
|Numero_revisori = 1
}}


In breve:
* '''smbd''': questo demone gestisce le connessioni tcp/ip del server samba; gestisce le autenticazioni, da accesso ai filesystem e allo spooler di stampa.


* '''nmbd''': questo demone gestisce il lato udp, rende note le risorse condivise tutte le volte che viene interrogato dai client. Per fare un esempio � quel demone che permette la visualizzazione dei serventi samba in Risorse di Rete nei sistemi ms-windows.
[[Categoria:Reti con Windows]]
 
[[Categoria:Samba]]
* '''smbclient''': programma client a riga di comando simile a ftp, dotato di diverse funzioni; tra le piu' importanti, quella di elencare le risorse messe in condivisione dai vari server samba in una rete.
 
* '''smbmount''' & '''smbumount''': utilizzati per montare/smontare filesystem condivisi.
 
* '''smbpasswd''': strumento per la creazione utenti samba. Un utente samba dovra' essere anche un utente presente sulla macchina.
 
* '''testparm''': strumento per la verifica del file '''/etc/samba/smb.conf.
 
==Configurazione del server==
===Sezione global===
Editiamo il file '''/etc/samba/smb.conf'''.
<pre> 
[global]
    allow hosts = 192.168.1.0/24   
    workgroup = debianizzati
    server string = server@debianizzati.org
    browsable = yes
    create mask = 0755
</pre>
 
Con la sezione global all'interno del file smb.conf abbiamo settato quei parametri che saranno il modello generale di tutte le eventuali sezioni che verranno.
 
Ad esempio se  nella successiva sezione, non specificassimo il parametro '''allow hosts''', verra' preso come riferimento 192.168.1.0/24.
 
ok, in breve:
* '''allow hosts''' = range di ip ai quali e' permesso l'accesso alla risorsa
* '''workgroup''' = nome del gruppo di lavoro
* '''server string''' = stringa che identifica il server
* '''browsable''' = rende visibile lo share
* '''create mask''' = determina i permessi dei file in condivisione
 
===Condivisione di una directory===
Adesso sempre dentro il nostro smb.conf, creiamo la sezione specifica per la risorsa che vogliamo condividere.  In questo esempio condivideremo una directory.
<pre>
[shared]
    comment = Directory Shared
    path = /dir/da/condividere
    browsable = yes
    read only = yes
    public = yes
    create mask = 0755
</pre>
 
Altri parametri:
* '''comment''' = commento per la directory
* '''path''' = percorso della dir condivisa
* '''public''' = rende la dir di libero accesso
* '''read only''' = setta i files della dir condivisa in sola lettura.
 
===Condivisione di una stampante===
Adesso analizziamo i parametri da aggiungere al file '''smb.conf''' per poter condividere una stampante, ponendo per esempio che il sistema di stampa utilizzato dal server sia cups.
Aggiungiamo alla sezione '''global''':
<pre>
[global]
    printing = cups
    load printers = yes
</pre>
Creiamo inoltre la sezione '''printers''' che fornira' i parametri di accesso alle nostre stampanti:
<pre>
[printers]
    comment = Stampanti Condivise
    path = /var/spool/cups
    browseable = no
    public = yes
    guest ok = yes
    writable = no
    printable = yes
</pre>
Dopodiche' scriviamo la sezione specifica per la nostra stampante (es. una canon), indicando alla voce '''path''' il percorso del nostro driver (solitamente /usr/share/cups/model):
<pre>
[canon]
    path = /usr/share/cups/model/canon_xxx.ppd
    printer name = canon
    writable = yes
    public = yes
    printable = yes
    print command = lp
</pre>
 
Ok, a questo punto il file puo' considerarsi configurato. Tuttavia questi sono solo pochissimi parametri. Potrete trovarli tutti a questa pag. tratta dal sito ufficiale di  [http://www.samba.org/samba/docs/man/smb.conf.5.html Samba].
 
===Autenticazione===
Preoccupiamoci ora dell'accesso vero e proprio alla directory messa in condivisione. Possiamo creare un utente samba con smbpasswd, tenendo presente che un utente samba deve anche essere un utente presente sulla macchina; attribuendogli poi una password di nostra scelta:
 
<pre>
# smbpasswd -a utente
New SMB password: ****
Retype new SMB password: ****
</pre>
 
Questi sono user e pass coi quali ci loggheremo nel momento in cui monteremo dai client la dir condivisa con smbmount, o coi quali accederemo direttamente al server con smbclient.
 
Se volessimo inoltre consentire l'accesso a tutti gli utenti indistintamente, basterebbe inserire il parametro '''guest ok = yes''' nelle sezioni desiderate. Ad esempio nella sezione shared:
<pre>
[shared]
    comment = Directory Shared
    path = /dir/da/condividere
    browsable = yes
    read only = yes
    public = yes
    create mask = 0755
    guest ok = yes
</pre>
 
Cosi' facendo potremo loggarci come ospiti digitando solo invio come password.
 
Bene, riavviamo il server:
<pre># /etc/init.d/samba restart</pre>
 
Adesso testiamo la validita' del file /etc/samba/smb.conf col comando:
 
<pre># testparm /etc/samba/smb.conf</pre>
 
Dovra' restituirvi fra le altre questa stringa:
<pre>Loaded services file OK.</pre>
 
==Lato client==
Spostiamoci sul client e installiamo smbfs:
<pre># apt-get install smbfs</pre>
 
montiamo quindi la risorsa shared col comando:
<pre>$ smbmount //ip_del_server/shared  /path/del/mountpoint</pre>
 
al momento che ci verra' chiesta la password, possiamo scegliere (in questo nostro caso) di digitare la pass assegnata all'utente samba, o digitare semplicemente �invio� per la presenza, nella sezione shared, del parametro guest ok = yes.
 
adesso possiamo listare il contenuto della dir condivisa:
<pre>$ ls /path/del/mountpoint</pre>
 
 
 
-------
 
Autore: [[Utente:_zmo_|zmo]]

Versione attuale delle 14:03, 15 dic 2019

Samba
Arrow left.png

Condivisione risorse

Controller di dominio

Altro

Arrow right.png


Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian
Guida estesa

Sommario

  1. Lato server
  2. Lato client
  3. Esempi
  4. Troubleshooting
  5. Approfondimenti


Introduzione

Samba è un diffusissimo software open-source, ideato nel 1991 da Andrew Tridgell e rilasciato sotto licenza GPL, che permette la condivisione di risorse come directory e stampanti fra gli host di una rete. Si avvale sostanzialmente del protocollo SMB (server message block) originario Microsoft, basato a sua volta sul protocollo NetBios (network basic input output system) sviluppato da IBM nel 1984. È un software semplicemente straordinario, la sua anima, il file /etc/samba/smb.conf è in perfetto stile Linux; cioè, lo stesso file, può divenire enorme e strutturatissimo oppure snello e semplicissimo, a seconda (e questo è il vero stile Linux) di quello che un utente vuole.

Si sceglie solitamente l'uso di Samba per poter condividere file e stampanti in una rete mista (macchine GNU/Linux, MS-Windows, Mac OS..), in modo da sfruttare un unico protocollo e un unico sistema di autenticazione.




Guida scritta da: zmo Swirl-auth40.png Debianized 40%
Estesa da:
Ferdybassi
Wtf 20:48, 9 nov 2011 (CET)
Verificata da:
Wtf

Verificare ed estendere la guida | Cos'è una guida Debianized