Al tener un problema de que rsync no establece UID y GID como se esperaba , mi intuición es que rsync
debe ejecutarse como root
en la máquina de destino.
No puedo iniciar sesión como a root
travé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 rsync
con sudo
?
permissions
rsync
Thomas Weller
fuente
fuente
-e="ssh -i $PRIVATE_KEY_PATH" --rsync-path="sudo rsync"
/etc/sudoers
aparece 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-askpass
esté 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 -X
reenviará la información de X-windows y el puerto a su sesión remotasudo -A
hará 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