Use o Samba .
O Samba fornece um serviço de compartilhamento de arquivos compatível com o Windows.
Você pode compartilhar um diretório (por exemplo, /srv/samba/sharename
) em seu computador Linux e acessá-lo a partir do Windows como este: \\linuxservername\sharename
. Não precisa de nenhum software extra no lado do Windows.
O Samba está incluído na maioria das distribuições Linux. Instale-o usando o gerenciador de pacotes, por exemplo:
Para configurar o Samba, consulte:
ou pesquise no Google para encontrar um guia para sua distribuição.
Observe que pode ser necessário configurar o firewall do Linux, caso você o utilize, para aceitar conexões às portas 137 / tcp, 138 / tcp, 139 / tcp e 445 / tcp (consulte isso e isto ).
Na descrição acima, o computador Linux é um servidor Samba e o Windows monta um compartilhamento a partir dele.
No seu comentário abaixo, você menciona que deseja automatizar o processo de transferência . Isso pode ser conseguido revertendo as funções para que o Windows atue como servidor e o Linux se conecte a ele usando smbclient
.
Com smbclient
você, você não precisa montar o compartilhamento do Windows. Por exemplo, para recuperá C:\Directory\file.txt
-lo e copiá-lo para o /tmp
seu computador Linux, faça o seguinte:
smbclient '//windowsserver/c$' -c 'lcd /tmp; cd Directory; get file.txt' -U administrator%password
-c
Comando para executar. Veja man smbclient
para detalhes.
-U
Nome de usuário e senha para acessar o compartilhamento especificado como username%password
Modifique-o de acordo com suas necessidades e adicione-o ao seu script.
smbclient
para se conectar ao compartilhamento do Windows, copiar um arquivo e desconectar. Eu editei minha resposta, dê uma olhada nela.-c
opção vale a pena usar em casos simples. Na minha máquina, a senha é um argumento simples (sem nenhuma opção). Além disso - prefiro manter as credenciais afastadas dos leitores da linha de comando (usandops
ou[h]top
, por exemplo), ligando-U $(cat .username) $(cat .password)
.Sei que você disse que não pode esperar a instalação de software específico, mas existem clientes SSH / SCP / SFTP para Windows que não requerem instalação específica; apenas o executável está disponível. Um que eu continuo recorrendo é o PuTTY com seus companheiros
pscp
epsftp
ferramentas, mas estou certo de que existem alternativas.pscp
epsftp
pode ser conduzido completamente a partir da linha de comando e, portanto, é adequado para tarefas de automação. Ambos têm até um-batch
switch que é descrito como "desativar todos os prompts interativos" e quase certamente pode ser aproveitado.Como você presumivelmente já possui um servidor SSH / SCP / SFTP instalado e configurado no servidor, isso evita a instalação de qualquer software em qualquer host, apenas com a finalidade de copiar esses arquivos.
Outra vantagem pode ser o fato de o PuTTY ser de código aberto sob uma licença permissiva; portanto, se ele não fizer o que você deseja imediatamente, deve ser relativamente fácil fazê-lo da maneira que você preferir.
fonte
Como sou um
CentOS 6
usuário, tentei esse método emCentOS 6
Instale o samba usando
Consulta para confirmação
Crie um usuário do Samba.
Agora crie a senha do samba para o nome de usuário sambashare usando o comando smbpasswd.
Crie um diretório de compartilhamento samba
alterar a propriedade da pasta de compartilhamento
Abra o arquivo
/etc/samba/smb.conf
e adicione as linhas abaixo.Iniciar serviço de samba
Verifique sua configuração usando o
testparm
comandoNo sistema Windows, digite isso em
run
Agora digite o nome de usuário e a senha do samba
Você terminou
fonte