Avanti Indietro Indice

8. Condividere un disco Windows con macchine Linux

Sistemi Linux (UNIX) possono anche sfogliare e montare condivisioni SMB. Si noti che questo è possibile sia con server Windows che con server Samba.

Con la distribuzione Samba, è incluso un programma client del protocollo SMB per macchine UNIX. Dispone di un'interfaccia a linea di comando simile ad ftp. Si può usare questo programma per trasferire file tra un server Windows ed un client Linux.

La maggior parte delle distribuzioni Linux ora include l'utile pacchetto smbfs, che consente di montare e smontare condivisioni SMB.

Per elencare le condivisioni disponibili su un dato host, è sufficiente eseguire:


    /usr/sbin/smbclient -L host

dove host è il nome della macchina che si desidera interrogare. Questo comando ritorna una lista di nomi di 'servizi', cioè nomi di dischi o stampanti che si possono condividere. A meno che il server SMB non sia configurato per nessuna sicurezza, sarà richiesto una password. Potrebbe essere essere la password per l'account guest di quella macchina o per il proprio personale.

Per esempio:


    smbclient -L zimmerman

L'output di questo comando dovrebbe somigliare a qualcosa del tipo:

Server time is Sat Aug 10 15:58:27 1996
Timezone is UTC+10.0
Password:
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]

Server=[ZIMMERMAN] User=[] Workgroup=[WORKGROUP] Domain=[]

        Sharename      Type      Comment
        ---------      ----      -------
        ADMIN$         Disk      Remote Admin
        public         Disk      Public
        C$             Disk      Default share
        IPC$           IPC       Remote IPC
        OReilly        Printer   OReilly
        print$         Disk      Printer Drivers


This machine has a browse list:

        Server               Comment
        ---------            -------
        HOPPER               Samba 1.9.15p8
        KERNIGAN             Samba 1.9.15p8
        LOVELACE             Samba 1.9.15p8
        RITCHIE              Samba 1.9.15p8
        ZIMMERMAN

Il "browse list" elenca altri server SMB sulla rete con risorse da condividere.

Per eseguire il client:


    /usr/sbin/smbclient servizio <password>

dove 'servizio' è il nome di macchina e servizio. Per esempio se si desidera raggiungere una directory condivisa come 'public' su una macchina chiamata 'zimmerman', il servizio dovrebbe essere chiamato: \\zimmerman\public. Per le restrizioni dell'interprete dei comandi (shell) potrebbe essere necessario raddoppiare le barre inverse, qualcosa come:


    /usr/sbin/smbclient \\\\zimmerman\\public mypasswd

dove 'mypasswd' è la propria password.

A questo punto smbclient dovrebbe presentare la propria richiesta comandi:

Server time is Sat Aug 10 15:58:44 1996
Timezone is UTC+10.0
Domain=[WORKGROUP] OS=[Windows NT 3.51] Server=[NT LAN Manager 3.51]
smb: \>

Scrivendo 'h' si ottiene aiuto per usare smbclient:

smb: \> h
ls             dir            lcd            cd             pwd
get            mget           put            mput           rename
more           mask           del            rm             mkdir
md             rmdir          rd             prompt         recurse
translate      lowercase      print          printmode      queue
cancel         stat           quit           q              exit
newer          archive        tar            blocksize      tarmode
setmode        help           ?              !
smb: \>

Se già si conosce ftp, non dovrebbe essere necessario consultare le pagine del manuale di smbclient.

Nonostante si possa usare smbclient per verificare il funzionamento, è scomodo per l'uso comune. A questo punto potrebbe tornare utile il pacchetto smbfs. Smbfs dispone di due semplici utility, smbmount e smbumount che funzionano come mount e umount per condivisioni SMB.

Una cosa importante da notare: è necessario aver compilato il supporto SMB nel kernel per usare queste utility!

L'esempio seguente dimostra un tipico uso di smbmount per montare una condivisione SMB chiamata "customers" da una macchina di nome "samba1":


[root@postel]# smbmount "\\\\samba1\\customers" -U rtg2t -c 'mount /customers -u 500 -g 100'
Added interface ip=192.168.35.84 bcast=192.168.255.255 nmask=255.255.0.0
Got a positive name query response from 192.168.168.158 ( 192.168.168.158 )
Server time is Tue Oct  5 10:27:36 1999
Timezone is UTC-4.0
Password:
Domain=[IPM] OS=[Unix] Server=[Samba 2.0.3]
security=user

Il comando mount ora riporterà la condivisione montata, come se fosse un export NFS:


[root@postel]# mount                                                                                                    
/dev/hda2 on / type ext2 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,mode=622)
//SAMBA1/CUSTOMERS on /customers type smbfs (0)

Si consultino le pagine del manuale per dettagli su smbmount e smbumount ed il relativo uso.


Avanti Indietro Indice