Observando a entrada do Arch Linux Wiki , tenho o que acho que é a configuração mínima de acessar uma unidade compartilhada do Windows via SMB do meu Arch Linux 4.20.6:
sudo pacman -S samba
sudo echo "logging = systemd" >> /etc/samba/smb.conf
já que osmb
serviço precisa deste arquivo de configuração, caso contrário, ele falhará com o erro:Job for smb.service failed because the control process exited with error code. See "systemctl status smb.service" and "journalctl -xe" for details.
sudo systemctl start smb
Supondo que a máquina Windows remota esteja em 172.16.17.52
, posso listar os nomes de compartilhamento com
smbclient -L 172.16.17.52 -U MyUserName%MyPassword -W OurWindowsDomain
Entre eles está um serviço do tipo "Disco" com nome de compartilhamento OurRemoteDirectory
que gostaria de acessar, ou seja, transferir arquivos de e para ele.
Na esperança de poder acessar OurRemoteDirectory
no drive compartilhado, emiti
smbclient 172.16.17.52/OurRemoteDirectory -U MyUserName%MyPassword -W OurWindowsDomain
Mas isso produziu esta mensagem de erro:
Unable to initialize messaging context
172.16.17.52: Not enough '\' characters in service
Como posso corrigir esse erro e acessar OurRemoteDirectory
o drive compartilhado?
Para corrigir isso , basta adicionar duas barras antes do endereço IP:
O que me surpreendeu foi a mensagem de erro sugerindo que eu deveria adicionar barras invertidas e o fato de que listar nomes de compartilhamentos com
smbclient -L
não requer nenhuma barra na frente do endereço IP.Agora eu tenho uma interface de linha de comando para acessar o sistema de arquivos remoto:
Tendo estabelecido a conexão,
man smbclient
descreve comandos para transferência de arquivos, comoput
eget
.Como um postscript, uma vez que a v7.40 também
curl
suporta o protocolo smb , o que torna osamba
pacote incluindosmbclient
supérfluo nos casos em que você deseja apenas transferir arquivos de e para a unidade compartilhada:Atualmente,
curl
não suporta a criação de diretórios remotos, o que significaPath/To/Dir/
que já existe. O recurso é discutido brevemente aqui .