Devo ativar a conta root do rsync?

10

Como posso ativar a conta root? Eu sei que geralmente não é recomendado, mas eu gostaria de configurar um script não interativo para fazer backup do meu servidor usando o rsync. Eu poderia usar --rsync-path="sudo rsync" , mas eu precisaria armazenar minha senha sudo em clear, o que parece muito pior do que ativar a conta root.

    
por Olivier Lalonde 07.01.2011 / 00:24

3 respostas

10
  1. Crie novas contas de usuário mybackup separadas no cliente e no servidor
  2. Bloqueie as senhas com sudo passwd -l mybackup para essas contas para evitar login direto
  3. Permitir, por meio de sudo , que as novas contas executem um comando /usr/bin/rsync/ --some-long-command /from/here /to/there muito específico como raiz com NOPASSWD: em /etc/sudoers usando sudo visudo
  4. Crie novas chaves SSH sem senha para o local para o host remoto usando sudo -u mybackup ssh-keygen
  5. Adicione a sudo -u crontab -e em uma ou outra extremidade para executar o controle remoto rsync usando ssh e as chaves como o transporte

Desta forma, o único comando que pode ser executado como root é aquele que você permitiu explicitamente, e o único usuário remoto que pode ativá-lo é o detentor da outra metade do ssh instalado. keypair, que porque também tem a senha bloqueada, só pode ser alguém com acesso sudo, ou o crontab que você configurou.

    
por sladen 08.01.2011 / 02:23
7
  1. Você pode editar /etc/sudoers para permitir que qualquer usuário esteja executando o comando (ou todos os usuários) para executá-lo como root sem uma senha (talvez um pouco perigoso com rsync).

  2. Você não pode simplesmente executar o comando / script / como root ? Eu suponho que isso vai rodar via cron então apenas adicione um root job via:

    sudo crontab -e
    

    Nota: você pode fazer coisas bastante complexas colocando o comando cron em um bash -e "..." brace ou apenas em um script separado. Supondo que não seja setuid'd, se root executar (por meio de cron ), ele será executado como root , de modo que isso resolva seu problema de permissão.

por Oli 07.01.2011 / 00:48
6

Você pode (mas não deve) dar ao usuário root uma senha com

sudo passwd root

Editar: bit Setuid não funciona para scripts. Caso contrário, você poderia usar o bit setuid no programa de backup.

sudo chown root backup
sudo chmod u+s backup

Talvez você queira executar o backup como uma tarefa do cron?

    
por Frank 07.01.2011 / 00:43