1 508
contributi
S3v (discussione | contributi) Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Tutte le versioni di Debian}} | |||
=Introduzione= | =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. | 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. | ||
Riga 26: | Riga 27: | ||
=Configurazione del server= | =Configurazione del server= | ||
==Sezione global== | ==Sezione global== | ||
Editiamo il file '''/etc/samba/smb.conf''': | Editiamo il file <code>'''/etc/samba/smb.conf'''</code>: | ||
<pre> | <pre> | ||
[global] | [global] | ||
Riga 37: | Riga 38: | ||
Con la sezione <code>global</code> all'interno del file <code>smb.conf</code> abbiamo impostato quei parametri che saranno il modello generale di tutte le eventuali sezioni che verranno. | Con la sezione <code>global</code> all'interno del file <code>smb.conf</code> abbiamo impostato 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''', verrà preso come riferimento '''192.168.1.0/24'''. | Ad esempio, se nella successiva sezione non specificassimo il parametro <code>'''allow hosts'''</code>, verrà preso come riferimento '''192.168.1.0/24'''. | ||
Ok, in breve:<br> | Ok, in breve:<br> | ||
*'''allow hosts''' | * <code>'''allow hosts'''</code>: range di IP ai quali è permesso l'accesso alla risorsa; | ||
* <code>'''workgroup'''</code>: nome del gruppo di lavoro; | |||
* <code>'''server string'''</code>: stringa che identifica il server; | |||
* <code>'''create mask'''</code>: determina i permessi dei file in condivisione. | |||
{{Box|Nota|Per puntare a semplicità e rapidità di utilizzo, inseriremo solo pochi parametri essenziali per sezione nel nostro <code>/etc/samba/smb.conf</code>. Tuttavia i parametri previsti per questo file sono veramente tanti. Per una panoramica completa fate riferimento alla pagina (man5) di [http://www.samba.org/samba/docs/man/smb.conf.5.html Samba]. | {{Box|Nota|Per puntare a semplicità e rapidità di utilizzo, inseriremo solo pochi parametri essenziali per sezione nel nostro <code>/etc/samba/smb.conf</code>. Tuttavia i parametri previsti per questo file sono veramente tanti. Per una panoramica completa fate riferimento alla pagina (man5) di [http://www.samba.org/samba/docs/man/smb.conf.5.html Samba]. | ||
Riga 61: | Riga 62: | ||
Altri parametri:<br> | Altri parametri:<br> | ||
*'''comment''' = commento per la directory | * <code>'''comment''' </code>= commento per la directory; | ||
*'''path''' = percorso della directory condivisa | * <code>'''path'''</code> = percorso della directory condivisa; | ||
*'''browsable''' = rende visibile lo share | * <code>'''browsable'''</code> = rende visibile lo share; | ||
*'''public''' = rende la directory di libero accesso | * <code>'''public'''</code> = rende la directory di libero accesso; | ||
*'''read only''' = setta i file della directory condivisa in sola lettura | * <code>'''read only'''</code> = setta i file della directory condivisa in sola lettura. | ||
==Condivisione di una stampante== | ==Condivisione di una stampante== | ||
Adesso analizziamo i parametri da aggiungere al file <code>/etc/samba/smb.conf</code> per poter condividere una stampante. | Adesso analizziamo i parametri da aggiungere al file <code>/etc/samba/smb.conf</code> per poter condividere una stampante. | ||
Aggiungiamo alla sezione '''global''': | Aggiungiamo alla sezione <code>'''global'''</code>: | ||
<pre> | <pre> | ||
[global] | [global] | ||
Riga 75: | Riga 76: | ||
load printers = yes | load printers = yes | ||
</pre> | </pre> | ||
Creiamo inoltre la sezione '''printers''' che fornirà i parametri di accesso alle nostre stampanti: | Creiamo inoltre la sezione <code>'''printers'''</code> che fornirà i parametri di accesso alle nostre stampanti: | ||
<pre> | <pre> | ||
[printers] | [printers] | ||
Riga 82: | Riga 83: | ||
printable = yes | printable = yes | ||
</pre> | </pre> | ||
{{Box|Nota|Debian non crea la directory /var/spool/samba. Questa directory è adibita solo allo spool di stampa, volendo molti la sostituiscono con <code>/tmp</code>. Se decidete di crearla voi, per un corretto funzionamento impostatele i permessi: ''nobody:nobody'' con: | {{Box|Nota|Debian non crea la directory <code>/var/spool/samba</code>. Questa directory è adibita solo allo spool di stampa, volendo molti la sostituiscono con <code>/tmp</code>. Se decidete di crearla voi, per un corretto funzionamento impostatele i permessi: <code>''nobody:nobody''</code> con: | ||
<pre> # chown nobody.nobody /var/spool/samba</pre> | <pre> # chown nobody.nobody /var/spool/samba</pre> | ||
<pre> # chmod -R 755 /var/spool/samba</pre> | <pre> # chmod -R 755 /var/spool/samba</pre> | ||
Riga 106: | Riga 107: | ||
</pre> | </pre> | ||
Parametri supplementari al nostro <code>/etc/samba/smb.conf</code>:<br> | Parametri supplementari al nostro <code>/etc/samba/smb.conf</code>:<br> | ||
'''preexec''' | * <code>'''preexec'''</code>: permette di impostare un'azione che sarà eseguita una volta connessi alla risorsa; | ||
'''postexec''' | * <code>'''postexec'''</code>: in questo caso l'azione sarà eseguita quando la risorsa verrà sconnessa. | ||
Nel momento in cui dal client monteremo la risorsa condivisa (con ''smbmount'' o ''smbclient'') sul server sentiremo montare il DVD, il cui contenuto sarà a nostra disposizione per trasferire file o, in caso di file audio/video, anche di streaming. | Nel momento in cui dal client monteremo la risorsa condivisa (con ''smbmount'' o ''smbclient'') sul server sentiremo montare il DVD, il cui contenuto sarà a nostra disposizione per trasferire file o, in caso di file audio/video, anche di streaming. | ||
Riga 125: | Riga 126: | ||
Questi sono ''user'' e ''pass'' coi quali ci loggheremo nel momento in cui connetteremo le risorse condivise (''smbmount, smbclient''). | Questi sono ''user'' e ''pass'' coi quali ci loggheremo nel momento in cui connetteremo le risorse condivise (''smbmount, 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'': | Se volessimo inoltre consentire l'accesso a tutti gli utenti indistintamente, basterebbe inserire il parametro <code>'''guest ok = yes'''</code> nelle sezioni desiderate. Ad esempio nella sezione <code>''shared''</code>: | ||
<pre> | <pre> | ||
[shared] | [shared] | ||
Riga 169: | Riga 170: | ||
===Principali flags=== | ===Principali flags=== | ||
(''Usare smbclient --help per uno screen completo''): | (''Usare <code>smbclient --help</code> per uno screen completo''): | ||
*'''smbclient -L ''hostname''''': lista tutti gli share di un determinato host. Ad esempio, dal nostro client facciamo richiesta di listare gli share del server (''come password digitiamo quella dell'user creato con ''smbpasswd'' o solo invio''): | * <code>'''smbclient -L ''hostname'''''</code>: lista tutti gli share di un determinato host. Ad esempio, dal nostro client facciamo richiesta di listare gli share del server (''come password digitiamo quella dell'user creato con ''smbpasswd'' o solo invio''): | ||
<pre> | <pre> | ||
$ smbclient -L SERVER | $ smbclient -L SERVER | ||
Riga 198: | Riga 199: | ||
</pre> | </pre> | ||
Come si vede, nella colonna '''Sharename''' sono elencati i nomi degli share settati in <code>/etc/samba/smb.conf</code>, quindi la nostra directory shared,la nostra stampante e il nostro lettore DVD (''le sezioni [global] e [printers] non sono visibili poiché sono sezioni di parametri usate dal programma''). | Come si vede, nella colonna '''Sharename''' sono elencati i nomi degli share settati in <code>/etc/samba/smb.conf</code>, quindi la nostra directory shared,la nostra stampante e il nostro lettore DVD (''le sezioni <code>[global]</code> e <code>[printers]</code> non sono visibili poiché sono sezioni di parametri usate dal programma''). | ||
Nella colonna '''Server ''' sono invece elencati gli host facenti parte del medesimo workgroup. | Nella colonna '''Server ''' sono invece elencati gli host facenti parte del medesimo workgroup. | ||
C'è poi la colonna '''Workgroup''' che visualizza l'host con ruolo di domain master browser nella subnet. | C'è poi la colonna '''Workgroup''' che visualizza l'host con ruolo di domain master browser nella subnet. | ||
*'''smbclient -U''': | * <code>'''smbclient -U'''</code>: con questo flag possiamo specificare l'username e l'eventuale password per il login sulla macchina server; | ||
*'''smbclient -A''': | * <code>'''smbclient -A'''</code>: sostanzialmente uguale a <code>-U</code> ma possiamo dargli il path di un file dal quale attingere l'username e la password. | ||
===Accesso al server=== | ===Accesso al server=== | ||
Riga 239: | Riga 240: | ||
===Alcune funzioni=== | ===Alcune funzioni=== | ||
*'''lowercase''': abilita i file ad essere richiamati da ''get'' e ''mget'' utilizzando solo caratteri minuscoli. È utile viste le difficoltà spesso trovate negli share MSDOS (''case insensitive''). | * <code>'''lowercase'''</code>: abilita i file ad essere richiamati da ''get'' e ''mget'' utilizzando solo caratteri minuscoli. È utile viste le difficoltà spesso trovate negli share MSDOS (''case insensitive''). | ||
<pre> | <pre> | ||
es. di abilitazione dei parametri: | es. di abilitazione dei parametri: | ||
Riga 245: | Riga 246: | ||
smb: \> prompt on | smb: \> prompt on | ||
</pre> | </pre> | ||
*'''prompt''': impostando ''' prompt''' su '''on''' prima di ogni trasferimento ci verrà richiesta una conferma | * <code>'''prompt'''</code>: impostando ''' prompt''' su '''on''' prima di ogni trasferimento ci verrà richiesta una conferma; | ||
*'''showconnect''': mostra l' //host/nome_risorsa in uso | * <code>'''showconnect'''</code>: mostra l' //host/nome_risorsa in uso: | ||
<pre> | <pre> | ||
smb: \> showconnect | smb: \> showconnect | ||
Riga 252: | Riga 253: | ||
</pre> | </pre> | ||
*'''stat nomefile''': stampa a video i permessi di un file e offre, in ordine temporale, info sugli accessi ad esso: | * <code>'''stat nomefile'''</code>: stampa a video i permessi di un file e offre, in ordine temporale, info sugli accessi ad esso: | ||
<pre> | <pre> | ||
smb: \> stat free_kevin.png | smb: \> stat free_kevin.png |
contributi