Борьба с systemd и правами пользователя для скрипта резервного копирования

Борьба с systemd и правами пользователя для скрипта резервного копирования

Мне нужна помощь в выясненииверноспособ добиться того, что мне нужно, используя systemd. Я чувствую себя как между молотом и наковальней и не знаю, куда идти. Вот сжатый контекст:

Я успешно настроил systemdпользовательблок для запуска сценария резервного копирования каждую ночь, который выполняет несколько действий:

  1. он использует ssh-ключ моего пользователя для ssh-подключения к другой машине
  2. он вызывает pass (т.е. хранилище паролей моего пользователя) для отправки пароля на удаленную машину для команды на удаленной машине, которая требует sudo
  3. он синхронизирует некоторые данные с удаленной машины на резервный диск

Все это работает отлично. Теперь проблема в том, что мне нужно также rsync некоторых данных локально на мой резервный диск, но данные принадлежат root. Rsync терпит неудачу с разрешением отказано, если я не использую sudo для запуска скрипта. Но проблема в том,Я не могу понять, как автоматизировать использование sudo с помощью пользовательского модуля systemd.- вызов пасса, похоже, не работает.

Я где-то читал, что мне нужно просто использовать обычный модуль systemd, работающий от имени root, чтобы выполнить то, что мне нужно, но проблема в том, что все остальные вещи, которые работали при запуске от имени пользователя, перестают работать при запуске от имени root, поскольку у root нет доступа к хранилищу ключей SSH или паролей моего пользователя.

TLDR: Каков наилучший способ настроить модуль systemd, который может: 1) выполнять команды, требующие доступа к моему хранилищу ключей и паролей SSH, 2) также синхронизировать данные rsync, требующие повышенных прав, и 3) делать обе эти вещи автоматически, когда мне не нужно подходить к клавиатуре, чтобы вводить пароль пользователя?

Связанный контент