Hace tiempo que andaba detrás de la solución a la pregunta que planteaba por la lista de usuarios de BackupPC allá por 2011: ¿cómo evitar errores en los log de las copias que ejecuta BackupPC, cuando no quieres utilizar el usuario «root»?. Ya fuera por cuestión de tiempo o por otros temas, no le he dedicado demasiado tiempo a esto, ¡pero esto se acabó! 😀
Y, ¿porque demonios no utilizar root para las copias de seguridad?. Siempre he considerado una muy buena práctica utilizar a cada usuario para lo que se necesita, y que no tenga mas permisos de los que requiere 🙂
En ese sentido tras plantear varias posibilidades como:
- Cambiar permisos a ficheros/directorios: descartado porque puedes romper otras cosas y volver inseguro tu sistema.
- Meter al usuario backuppc en los grupos necesarios
- Ejecutar el servicio backuppc bajo otro usuario «mas poderoso».
Me dí cuenta de que la solución estaba delante de mis narices. En el mismo enlace de la documentación oficial de Backuppc que yo mismo citaba estaba la solución.
En el fichero sudoers tiene que estar (para el método de copia rsync) la línea:
# Allow BackupPC to use rsync as root backuppc ALL=NOPASSWD: /usr/bin/rsync
En el fichero config.pl o el-host-que-sea.pl tiene que estar la línea (para el método de copia rsync):
$Conf{RsyncClientCmd} = '$sshPath -q -x -l backuppc \ $host /usr/bin/sudo $rsyncPath $argList+'; $Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l backuppc \ $host /usr/bin/sudo $rsyncPath $argList+';
¡Nunca es tarde si la dicha es buena! 😀