Lutando com permissões do systemd e do usuário para script de backup

Lutando com permissões do systemd e do usuário para script de backup

Eu poderia usar alguma ajuda para descobrir ocertomaneira de realizar o que preciso usando o systemd. Sinto como se estivesse entre uma rocha e uma posição difícil e não tenho certeza para onde ir. aqui está o contexto condensado:

Eu configurei com sucesso um systemddo utilizadorunidade para executar um script de backup todas as noites que faz algumas coisas:

  1. ele usa a chave ssh do meu usuário para fazer ssh em outra máquina
  2. ele chama pass (ou seja, o armazenamento de senha do meu usuário) para enviar uma senha à máquina remota para um comando no controle remoto que requer sudo
  3. ele sincroniza novamente alguns dados da máquina remota para uma unidade de backup

Tudo isso funciona muito bem. Agora, o problema é que também preciso sincronizar novamente alguns dados localmente em minha unidade de backup, mas os dados pertencem ao root. O Rsync falha com permissão negada, a menos que eu use o sudo para executar o script. Mas o problema éNão consigo descobrir como automatizar o uso do sudo com uma unidade de usuário do systemd- chamar pass não parece funcionar.

Eu li em outro lugar que deveria usar apenas uma unidade systemd normal que roda como root para realizar o que preciso, mas o problema é que todas as outras coisas que estavam funcionando quando rodando como uma unidade de usuário quebram ao rodar como root, porque root não tem acesso à chave ssh ou ao armazenamento de senhas do meu usuário.

TLDR: Qual é a melhor maneira de configurar uma unidade systemd que pode: 1) executar comandos que exigem acesso à minha chave ssh e armazenamento de senha, 2) também rsync dados que requerem permissões elevadas e 3) fazer essas duas coisas em um forma automatizada onde não preciso estar no teclado para digitar a senha do meu usuário?

informação relacionada