![Luchando con systemd y los permisos de usuario para el script de respaldo](https://rvso.com/image/192227/Luchando%20con%20systemd%20y%20los%20permisos%20de%20usuario%20para%20el%20script%20de%20respaldo.png)
Me vendría bien un poco de ayuda para descubrir elbienmanera de lograr lo que necesito usando systemd. Siento que me he metido entre la espada y la pared y no estoy seguro de adónde ir. Aquí está el contexto condensado:
Configuré exitosamente un systemdusuariounidad para ejecutar un script de respaldo todas las noches que hace algunas cosas:
- utiliza la clave ssh de mi usuario para ingresar por ssh a otra máquina
- llama a pass (es decir, el almacén de contraseñas de mi usuario) para enviar una contraseña a la máquina remota para un comando en el control remoto que requiere sudo
- sincroniza algunos datos de la máquina remota a una unidad de respaldo
Todo esto funciona muy bien. Ahora el problema es que también necesito sincronizar algunos datos localmente con mi unidad de respaldo, pero los datos son propiedad de root. Rsync falla y se le deniega el permiso a menos que use sudo para ejecutar el script. Pero el problema esNo puedo entender cómo automatizar el uso de sudo con una unidad de usuario systemd- El pase de llamada no parece funcionar.
Leí en otra parte que debería usar una unidad systemd normal que se ejecute como root para lograr lo que necesito, pero el problema es que todas las demás cosas que funcionaban cuando se ejecutaba como unidad de usuario se interrumpen cuando se ejecuta como root, porque root no tiene acceso a la clave ssh ni a la tienda de pases de mi usuario.
TLDR: ¿Cuál es la mejor manera de configurar una unidad systemd que pueda: 1) ejecutar comandos que requieren acceso a mi clave ssh y al almacén de pases, 2) también datos rsync que requieren permisos elevados y 3) hacer ambas cosas en un ¿De forma automatizada en la que no necesito estar frente al teclado para escribir la contraseña de mi usuario?