al unísono como usuario no root

al unísono como usuario no root

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

  1. configure un uid:gid unison:unison en ambas cajas
  2. configure un par de claves ssh para uid al unísono.
  3. configure unison/.ssh/authorized_keys para que solo se pueda ejecutar unison desde el control remoto
  4. configurar una acl en /home setfacl -R -md:g:unison:rwx,g:unison:rwx /home
  5. 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.

  1. Cree una cuenta de rol (en realidad, solo otro usuario, pero tenemos un espacio uid reservado para eso), probablemente con lo que usóunison
  2. utilizar ~unison/.ssh/authorized/keyscon un patrón restrictivo como `force-command="/usr/local/bin/unison-homesync.sh"
  3. escribir/usr/local/bin/unison-homesync.sh
  4. 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.

información relacionada