Gostaria de usar o rsnapshot para fazer backup do meu computador local, bem como de duas máquinas remotas, em um dispositivo de armazenamento portátil. Meu plano era usar rsnaphot
na máquina local, criar um backup
usuário nas máquinas remotas e deixar meu root local acessar a backup
conta por meio de chaves públicas ssh. Eu não queria habilitar o login root, pensei que isso poderia ser um recurso de segurança.
Então o problema começa: o usuário de backup remoto deve ser capaz de ler o máximo possível. Como posso fazer isso? Eu poderia adicionar esse usuário a todos os grupos existentes, dessa forma ele poderá ler todos os arquivos legíveis pelo grupo. Mas desta forma, este usuário também poderia escrever, deletar, ... esses arquivos. Ou eu poderia mudar o grupo de cada arquivo para backup
ou algo assim, mas é claro que isso seria muito invasivo e, aliás, muito insano.
Copie a chave pública do meu root local para a conta root remota e habilitar o login root seria a maneira mais fácil, hein? Devo fazer isso?
Como isso é feito corretamente?
Responder1
http://www.rsnapshot.org/howto/using-rsnapshot-and-ssh.html (Arquivo da Web)me ajudou muito. Acabei usando root
nas máquinas remotas e também root na minha máquina local (via sudo
é claro).
A ideia é ter várias chaves e restringi-las a determinados comandos. Por exemplo, configurei meu host remoto de uma forma que não permite root
login, mas permite executar um determinado comando (no meu caso acho que é rsync, tenho que admitir que apenas usei o validate-rsync
script sugerido no documento vinculado sem pensar demais) se autenticado com chave pública. Então, mesmo que alguémtiveacesso à minha root
conta local, não consegui fazer login diretamente (sim, ele talvez pudesse sincronizar novamente arquivos corrompidos e alguns outros, também corromper allowed_keys
e assim por diante).
No momento, acho que esta é a melhor relação entre usabilidade e segurança.