
Quiero usar unísono para sincronizar los directorios/home entre dos cajas EL6.
La mayoría de los artículos asumen que unison se ejecuta como root y puede realizar ssh entre los dos cuadros como root. Sin embargo, hemos deshabilitado los inicios de sesión de root tanto en /etc/passwd como en /etc/login.block. La conexión a través de ssh como root está deshabilitada en sshd_config.
¿Existe un método común y/o establecido para sincronizar al unísono algo como /home sin necesidad de iniciar sesión como root?
Un pensamiento que tuve fue
- configure un uid:gid unison:unison en ambas cajas
- configure un par de claves ssh para uid al unísono.
- configure unison/.ssh/authorized_keys para que solo se pueda ejecutar unison desde el control remoto
- configurar una acl en /home setfacl -R -md:g:unison:rwx,g:unison:rwx /home
- configure el cronjob para que se ejecute como uid 'unísono'.
pero espero que haya una manera mejor y más generalmente aceptada
¡Gracias!
Respuesta1
Quénormalmente lo hagoes crear cuentas de rol.
- Cree una cuenta de rol (en realidad, solo otro usuario, pero tenemos un espacio uid reservado para eso), probablemente con lo que usó
unison
- utilizar
~unison/.ssh/authorized/keys
con un patrón restrictivo como `force-command="/usr/local/bin/unison-homesync.sh" - escribir
/usr/local/bin/unison-homesync.sh
- use sudo para las acciones privilegiadas requeridas
Ventajas:
- No es necesario ser root para poder iniciar sesión
- sudo facilita el uso de acciones privilegiadas
- escribir un script contenedor hace que sea fácil estar en un entorno controlado
Contras:
El enfoque no escala bien cuando se realiza manualmente. Si existe alguna gestión de configuración, no es un problema.