rsync diretórios que precisam de permissões sudo no servidor remoto

0

Eu tenho um servidor local, vamos chamá-lo como A, que tem acesso a um servidor remoto.

Eu quero sincronizar com rsync um diretório do servidor remoto para o local, e eu quero colocar o diretório sincronizado em uma unidade montada em A.

O problema é que o diretório remoto tem permissões restritas, portanto, devo executar o comando rsync no modo sudo no servidor remoto, mas a partir do servidor A.

Como posso fazer?

    
por ehuarotop 31.08.2015 / 21:59

1 resposta

0

A estratégia mais simples é logar no remoteserver e a partir daí rodar o comando rsync , com privilégios sudo.

Suponho que você esteja trabalhando no Linux em ambas as máquinas.
Vamos chamar localuser o nome de usuário no localserver , e remoteuser o nome de usuário no remoteserver .

  • No localserver está montado uma unidade externa no caminho /media/MyUsb
  • No remoteserver , há um diretório chamado /data/DirToSync .
localuser@localserver ~> ssh -X remoteuser@remoteserver

Ele deve perguntar a você a senha do remoteuser no remoteserver e depois mostrará o prompt no servidor remoto:

remoteuser@remoteserver -> 

Aqui você pode escrever o comando rsync :

sudo rsync  -av /data/DirToSync localuser@localserver:/media/MyUsb

Ele perguntará antes da senha para sudo na máquina remota (a de remoteuser @ remoteserver ) e depois da senha do destino (a de localuser @ localserver).

Notas

  1. Você precisa estar na lista de sudoers da máquina remota (isso significa que você tem que ter o direito para executar sudo ). Tente fazer sudo ls no servidor remoto e forneça sua senha quando solicitado. Se ele executar o comando ls , você está nessa lista. (Deve ser um caso realmente raro e inseguro se você estiver nessa lista e não precisar de senha; nesse caso, você não precisará escrever a senha para sudo ).
  2. Não serão solicitadas as senhas para as ssh/rsync conexões se você tiver gerado e instalado o ssh -chaves .
  3. via ssh você pode até enviar o comando sudo para rsync para o localhost, mas é uma sintaxe um pouco mais complexa, veja aqui por exemplo , e você pode incorrer em algum problema por causa de sudo em alguma versão do linux.
por 15.09.2015 / 00:53

Tags