Para copiar arquivos de uma máquina Windows ou Linux com um compartilhamento SMB via Samba, diretamente do console shell do linux, use o smbclient, veja os exemplos abaixo:
Copiando da máquina linux para uma máquina samba na rede com senha no compartilhamento de rede:
smbclient //IP_Windows/compartilhamento -U usuario –pass senha -c “put /caminho_local/arquivo caminho_destino\arquivo;”
Na prática, ficaria assim para copiar um arquivo da máquina linux para a máquina 192.168.12.201 (Windows):
# smbclient //192.168.12.201/compartilha -U usuario --pass senha -c "put /etc/hosts teste_copia\hosts;"
Copiando da máquina Windows para a pasta atual da máquina Linux, como convidado sem senha:
smbclient //IP_Windows/compartilhamento -U guest –pass “” -c “get arquivo;”
Exemplo prático, para copiar o arquivo teste.txt para a pasta atual no linux:
# smbclient //192.168.12.201/compartilha -U guest --pass "" -c "get teste.txt;"
Copiando da máquina Windows para uma pasta qualquer da máquina Linux, como convidado sem senha:
smbclient //IP_Windows/compartilhamento -U guest –pass “” -c “get arquivo /caminho_destino/arquivo;”
Exemplo prático:
# smbclient //192.168.254.219/dados -U guest --pass "" -c "get 00021203.ALT /root/Desktop/Altera6.sdf;"
Para finalizar, como alternativa para enviar a senha, pode-se coloca-la ao final da linha de comando, conforme exemplo abaixo, sem a necessidade do parâmetro –pass:
# smbclient //192.168.1.201/path -U usuario -c "get CliSiTef.ini;" senha_do_usuario
Boa sorte.
Fonte: ShellLinux












