Um programa cliente SMB para máquinas UNIX é incluido na distribuição. Ele provê uma interface tipo ftp com linha de comando. Você pode usar este utilitário para transferir arquivos entre um 'servidor' Windows e um cliente Linux.
Para ver quais compartilhamentos estão disponíveis num determinado host, execute:
/usr/sbin/smbclient -L host
Onde 'host' é o nome da máquina que você deseja ver. Isto irá retornar uma lista de nomes de serviço, isto é, nomes de drives ou impressoras que o servidor pode compartilhar com você. A menos que o servidor SMB não possua nenhuma medida de segunça configurada, ele irá lhe perguntar uma senha. Dê-lhe a senha para a conta 'guest' ou para a sua senha pessoal naquela máquina.
Por exemplo:
smbclient -L zimmerman
A saída do comando deve parecer com esta:
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
A lista de visualização mostra outros servidores SMB com recursos a compartilhar na rede.
Para usar o cliente, execute:
/usr/sbin/smbclient service <password>
onde 'serviço' é a máquina e o nome do compartilhamento. Por exemplo, se você está tentando alcançar um diretório que foi compartilhado como 'public' numa máquina chamada zimmerman, o serviço deveria se chamar \\zimmerman\public. No entanto, devido a limitações do shell, você terá que dobrar as barras, logo, você terá por fim algo assim:
/usr/sbin/smbclient \\\\zimmerman\\public mypasswd
Onde 'mypasswd' é sua senha.
Você obterá o seguinte prompt do smbclient:
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: \>
Digite 'h' para obter ajuda usando o 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 você sabe utilizar o ftp, você não precisará das páginas de ajuda para o smbclient.
Mesmo pondedo usar o smbclient para testes, você logo estará saturado dele para trabalhos de verdade. Para estes você provavelmente usará o pacote smbfs. O smbfs vem com dois utilitários simples: smbmount e smbumount. Eles funcionam de forma muito similar a mount e umount, só que para compartilhamentos SMB.
O pacote smbfs já é incluido na maioria das distribuições Linux. Uma coisa importante a observar: Você deve possuir suporte a smbfs compilado no kernel para utilizar estes utilitários.