Como usar o rsync quando privilégios de root são necessários no host remoto?

1

Como as senhas e logins de root não são permitidos no Ubuntu, como usar ssh e rsync para mover pastas e arquivos de um host local para um host remoto quando privilégios de root são necessários no controle remoto?

    
por Alex 15.08.2016 / 09:18

2 respostas

0

Não é impossível habilitar o login root no Ubuntu, apenas não é recomendado. (veja esta resposta para instruções)

Alternativamente, o usuário do rsync pode receber privilégios de root (veja aqui )

    
por S.Mohsen sh 15.08.2016 / 09:37
0

Uma maneira de fazer isso é ter um usuário no final remoto, que tenha acesso sudo sem senha ao comando rsync. Se o usuário fosse chamado rsyncguy, você editaria o arquivo /etc/sudoers para conter a linha a seguir, usando o comando sudo visudo :

rsyncguy ALL=NOPASSWD: /usr/bin/rsync

Existe um risco de segurança inerente a essa abordagem, em que esse usuário pode agora executar qualquer comando rsync como root, incluindo o rsync pull de outros servidores. Para mitigar isso, você pode usar o comando rsync preciso que será necessário, se for provável que permaneça o mesmo.

Após o acesso ao sudo ter sido ativado, seus comandos rsync devem sempre conter '--rsync-path="sudo rsync" para garantir que o sudo seja usado no terminal remoto.

Também seria útil configurar a autenticação baseada em chave SSH sem senha para esse usuário. Depois que as chaves SSH tiverem sido configuradas, você poderá desativar o login de senha normal para o rsyncguy usando o seguinte comando no servidor remoto:

sudo passwd -l rsyncguy

Que adicionará outra camada de segurança.

    
por Arronical 15.08.2016 / 09:37