Rsync - Configurando o usuário rsync e suas permissões

1

Eu configurarei o rsync entre dois servidores da web. Eu estou com o objetivo de ter backup de dados do meu servidor primário no secoundary no caso de falhas no servidor principal. Minha pergunta refere-se a configurar no servidor primário uma conta de usuário para fins de rsync.

Por razões óbvias, não quero usar minha conta de usuário "raiz" aqui. Por isso estou visando a criação de outra conta que será usada apenas para fins de rsync. Pelo que entendi, este usuário precisará de permissões de leitura para todos os arquivos que precisarei transferir (configuração do apache, arquivos linux do usuário, www-data).

Como configurar melhor essas permissões? Devo conceder privilégios de root do usuário rsync ou existe alguma maneira mais segura de criar usuário para tal backup?

    
por Abdel5 24.09.2015 / 10:09

1 resposta

1

Se a rede que conecta os dois servidores for segura (por exemplo, uma rede local em seu escritório), você poderá usar o rsync no modo daemon para se conectar como root. Desta forma você não usa o ssh para fazer a conexão.

No sistema secundário, crie um arquivo /etc/rsyncd.conf com o seguinte conteúdo:

[all]
  path = /
  read only = no
  uid = 0
  gid = 0
  hosts allow = primary-host
  auth users = backupuser
  secrets files = /etc/rsyncd.secrets
  exclude = /tmp/ /var/tmp/ /var/cache/ /proc/ /sys/ /dev/ /run/ /boot/

Agora, crie um arquivo /etc/rsyncd.secrets com, por exemplo:

backupuser:thisisasecretpassword

Tornar o arquivo legível apenas pelo root:

# chown root /etc/rsyncd.secrets; chmod 400 /etc/rsyncd.secrets

Agora você precisa garantir que o rsync seja iniciado como um daemon; que depende da sua distribuição, com o Debian você edite /etc/default/rsync e altere a RSYNC_ENABLE line para RSYNC_ENABLE=true e execute /etc/init.d/rsync start (se estiver executando o systemd, execute systemctl enable rsync; systemctl start rsync ).

Agora, você pode executar o rsync no host principal e enviar o que for necessário para replicar para o secundário, por exemplo:

# rsync -ai /var/www/ backupuser@secondary-host::all/var/www/

O Rsync pedirá a senha secreta neste caso.

    
por 24.09.2015 / 12:38