Al tener un problema de que rsync no establece UID y GID como se esperaba , mi intuición es que rsyncdebe ejecutarse como rooten la máquina de destino.
No puedo iniciar sesión como a roottravés de SSH, ya que está deshabilitado por motivos de seguridad. El usuario en la máquina de destino puede usar sudo.
¿Es posible usar rsynccon sudo?
permissions
rsync
Thomas Weller
fuente
fuente

-e="ssh -i $PRIVATE_KEY_PATH" --rsync-path="sudo rsync"/etc/sudoersaparece al final del archivo (o después de cualquier regla de grupo que pueda afectar al mismo usuario) resolvió el problema para mí.<username> ALL=NOPASSWD:<path to rsync> <args>pero no sé cuáles serían los args cuando se llama de forma remota de esta manera. ¿Algunas ideas?Puede hacer que el sudo remoto le pida su contraseña a través de X-windows. Aquí hay una manera de hacer eso:
ssh-askpassesté instalado en el host remoto (y de que está utilizando X-windows, por supuesto)/etc/sudo.conf:Agregue estas opciones a rsync:
-e "ssh -X" --rsync-path="sudo -A rsync"ssh -Xreenviará la información de X-windows y el puerto a su sesión remotasudo -Ahará que sudo use ssh-askpass para pedirle su contraseñafuente
Mi solución es usar
--rsync-path="sudo rsync", si solicita una contraseña, puede usar una solución como esta:Pero esto no es seguro para poner una contraseña en la línea de comando.
fuente