128
contributi
Nessun oggetto della modifica |
|||
Riga 22: | Riga 22: | ||
* '''testparm''': strumento per la verifica del file '''/etc/samba/smb.conf. | * '''testparm''': strumento per la verifica del file '''/etc/samba/smb.conf. | ||
* '''nmblookup''' = serve per risolvere i nomi host di un domain samba (NetBIOS name) in indirizzi ip (es: nmblookup ''nomehost''). | |||
==Configurazione del server== | ==Configurazione del server== | ||
Riga 65: | Riga 67: | ||
===Condivisione di una stampante=== | ===Condivisione di una stampante=== | ||
Adesso analizziamo i parametri da aggiungere al file '''smb.conf''' per poter condividere una stampante | Adesso analizziamo i parametri da aggiungere al file '''smb.conf''' per poter condividere una stampante. | ||
Aggiungiamo alla sezione '''global''': | Aggiungiamo alla sezione '''global''': | ||
<pre> | <pre> | ||
[global] | [global] | ||
printing = cups | printing = [sistema di stampa utilizzato, es: cups, lprng..] | ||
load printers = yes | load printers = yes | ||
</pre> | </pre> | ||
Riga 75: | Riga 77: | ||
<pre> | <pre> | ||
[printers] | [printers] | ||
path = /var/spool/samba | |||
path = /var/spool/ | guest ok = yes | ||
printable = yes | printable = yes | ||
</pre> | </pre> | ||
Dopodiche' scriviamo la sezione specifica per la nostra stampante (es. una canon). | Dopodiche' scriviamo la sezione specifica per la nostra stampante (es. una canon). | ||
<pre> | <pre> | ||
[canon] | [canon] | ||
comment = Canon Printer | comment = Canon Printer | ||
path = /var/spool/samba | |||
browsable = yes | |||
</pre> | |||
</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]. | 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]. | ||
Riga 96: | Riga 95: | ||
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: | 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: | ||
Creazione utente samba: | |||
<pre> | <pre> | ||
# smbpasswd -a utente | # smbpasswd -a utente | ||
Riga 129: | Riga 129: | ||
==Lato client== | ==Lato client== | ||
Spostiamoci sul client | ===Smbclient=== | ||
Spostiamoci sul client: | |||
<pre># apt-get install smbfs</pre> | <pre># apt-get install smbfs</pre> | ||
Come detto in precedenza, smbclient e' un programma client ftp-like, utilizzato per l'accesso a un server samba. Guardiamo i suoi principali flags e le sue principali funzioni invece, una volta dentro al server. | |||
<pre>$ | |||
Principali flags (usare smbclient --help 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): | |||
<pre> | |||
$ smbclient -L SERVER | |||
Password: **** | |||
Domain=[debianizzati] OS=[Unix] Server=[Samba 3.0.14a-Debian] | |||
Sharename Type Comment | |||
--------- ---- ------- | |||
shared Disk Directory Shared | |||
canon Disk Canon i560 | |||
IPC$ IPC IPC Service (server@debianizzati.org) | |||
ADMIN$ IPC IPC Service (server@debianizzati.org) | |||
Domain=[debianizzati] OS=[Unix] Server=[Samba 3.0.14a-Debian] | |||
Server Comment | |||
--------- ------- | |||
SERVER server@debianizzati.org | |||
CLIENT server@debianizzati.org | |||
Workgroup Master | |||
--------- ------- | |||
debianizzati SERVER | |||
</pre> | |||
Come si vede, nella colonna '''Sharename''' sono elencati i nomi degli share settati in smb.conf, quindi, la nostra directory shared e la nostra stampante (le sezioni [global] e [printers] non sono visibili poiche' sono sezioni di parametri usate dal programma). | |||
Nella colonna '''Server ''' sono invece elencati gli hosts facenti parte del medesimo workgroup. | |||
C'e' poi la colonna '''Workgroup''' che visualizza l'host con ruolo di domain master browser nella subnet. | |||
* '''smbclient -U''' = Con questo flag possiamo specificare l'username e l'eventule password per il login sulla macchina server. | |||
* '''smbclient -A''' = Sostanzialmente uguale a -U ma possiamo dargli il path di un file dal quale attingere l'username e la password. | |||
Accesso al server: | |||
<pre> | |||
$ smbclient //SERVER/shared | |||
Password: **** | |||
Domain=[SERVER] OS=[Unix] Server=[Samba 3.0.14a-Debian] | |||
smb: \> | |||
</pre> | |||
Adesso siamo dentro al nostro server samba il cui hostname e' SERVER. Sostanzialmente il funzionamento smbclient e' il funzionamento di ftp, ma con in piu' degli utilissimi tools per il down/uploading dei files. | |||
Alcuni input uguali a quelli di una shell di bash sono: '''ls''', '''cd''', '''rm''', '''rmdir''', '''exit''', coi quali ci sentiremo subito a casa nostra. | |||
Otteniamo cmq una lista di comandi utili digitando '''help'''. | |||
'''Download di un file con get'''.<br> | |||
Poniamo come esempio che il contenuto della directory condivisa sia un insieme di files immagine con diverse estensioni e una directory con dentro qualsiasi cosa: | |||
<pre> | |||
smb: \> ls | |||
. D 0 Tue Aug 23 23:57:51 2005 | |||
.. D 0 Wed Aug 17 03:05:20 2005 | |||
directory D 0 Wed Aug 24 12:21:43 2005 | |||
free_kevin.png 42604 Mon Aug 22 12:19:34 2005 | |||
pokemon.png 43404 Mon Aug 22 15:15:11 2005 | |||
dorothy_la_may.gif 46134 Mon Aug 21 21:16:00 2005 | |||
</pre> | |||
Scarichiamo il file free_kevin.png dalla macchina SERVER alla nostra macchina CLIENT, rinominandolo in kevin.png: | |||
<pre> | |||
smb: \> get free_kevin.png kevin.png | |||
getting file \ free_kevin.png of size 42604 as kevin.png(1386.8 kb/s) (average 1386.8 kb/s) | |||
</pre> | |||
Il file sara' salvato nella directory dalla quale ci siamo connessi al server. Qualora il file non venisse rinominato manterrebbe il proprio nome. | |||
Funzioni speciali: | |||
* '''lowercase''' = abilita i files ad essere richiamati da get e mget utilizzando solo caratteri minuscoli. E' utile viste le difficolta' spesso trovate negli share msdos (case insensitive) | |||
<pre> | |||
es. di abilitazione dei parametri | |||
smb: \> lowercase on | |||
smb: \> prompt on | |||
</pre> | |||
* '''prompt''' = abilita/disabilita la richiesta di trasferimento. Impostando ''' prompt''' su '''on''' prima di ogni trasferimento ci verra' chiesta conferma. | |||
* '''showconnect''' = mostra l' //host/nome_risorsa in uso. | |||
<pre> | |||
smb: \> showconnect | |||
//SERVER/shared | |||
</pre> | |||
* '''stat nomefile''' = Stampa a video i permessi di un file e in ordine temporale tutti gli accessi ad esso: | |||
<pre> | |||
smb: \> stat free_kevin.png | |||
File: \free_kevin.png | |||
Size: 101 Blocks: 8 regular file | |||
Inode: 810 Links: 1 | |||
Access: (0644/-rw-r--r--) Uid: 1000 Gid: 1000 | |||
Access: 2005-08-24 00:10:39 +0200 | |||
Modify: 2005-08-24 00:10:51 +0200 | |||
Change: 2005-08-24 00:10:51 +0200 | |||
</pre> | |||
'''Mask, mget e recurse'''.<br> | |||
Con il comando '''mget''' abilitiamo il dowload di tutti i file e directory in maniera ricorsiva. Tuttavia possiamo dare a tale comando un parametro (maschera) utilizzando '''mask''' . | |||
Es. nella nostra directory mettiamo di voler scaricare tutti i file con estensione .png: | |||
<pre> | |||
smb: \> mask *png | |||
smb: \> mget | |||
</pre> | |||
In questo modo mget intendera' scaricare tutti i files con tale estensione presenti nella directory corrente. | |||
Tuttavia con mget e' possibile modificare la maschera on-fly digitando semplicemente: | |||
<pre> | |||
smb: \> mget *png | |||
</pre> | |||
In questo modo la funzione mask, manterra' il suo valore di default che e' '*' (cioe' tutto). | |||
La funzione '''recurse on''' attiva lo scanning & downloading (nel caso di una maschera) o il dowloading, accedendo anche a tutte le directory presenti nella dir da cui parte il comando. | |||
===Smbmount & Smbumount=== | |||
Con '''smbmount''' invece montiamo una risorsa in un mountpoint a nostra scelta. | |||
Montiamo la risorsa shared col comando: | |||
<pre>$ smbmount //SERVER/shared /path/del/mountpoint</pre> | |||
(come password digitiamo quella dell'user creato con smbpasswd o solo invio) | |||
Cosi' facendo potremmo accedere alla risorsa condivisa, raggiungendo il mountpoint: | |||
<pre>$ cd /path/del/mountpoint | |||
$ ls | |||
directory free_kevin.png pokemon.png dorothy_la_may.gif | |||
</pre> | |||
contributi