Algunas notas sueltas, pendientes de explicaci贸n
Si necesitamos que rsync se conecte a la m谩quina remota con una identidad concreta, podemos forzarlo con la siguiente opci贸n
rsync -e 'ssh -i /home/<usuario>/.ssh/<identidad>'
Solemos encontrar esta opci贸n cuando lo que queremos es copiar archivos de usuarios espec铆ficos. Sin embargo, esto no es necesario, ya que mediante el uso de 芦sudo禄 podemos acceder a archivos de cualquier usuario y con las opciones -og podemos preservar la propiedad de usuario y grupo de cada archivo. Esto es especialmente conveniente cuando, estamos haciendo copias de seguridad de directorios de varios usuarios.
Respecto al uso de sudo, y aunque parezca una obviedad, para no liarnos conviene tener en mente en qu茅 m谩quina necesitamos usarlo.
Si necesitamos usar sudo en la m谩quina local, basta con ejecutar sudo rsync (si queremos automatizar esta tarea y evitarnos tener que autenticar cada vez, ver lo referido al archivo sudoers)
Si lo que queremos es que rsync se ejecute con sudo en la m谩quina remota, deberemos ejecutar el comando con la siguiente opci贸n:
el siguiente par谩metro:
--rsync-path="sudo rsync"
Sin embargo, nos encontrarmos con la necesidad de realizar la autenticaci贸n de alg煤n modo en la m谩quina remota. Hay varias maneras de hacer esto pero la m谩s sencilla consiste en modificar el archivo sudoers para que no sea necesario realizar la autenticaci贸n.
Primero, identificamos la ruta en la que se encuentra rsync:
which rsync
/usr/bin/rsync
Ahora editamos el archivo /etc/sudoers
聽y a帽adimos la siguiente l铆nea:
sudo visudo
<usuario> ALL=NOPASSWD:<ruta a rsync>
que b谩sicamente significa que no se pida la contrase帽a para el usuario en cuesti贸n cuando se est茅 ejecutando el comando especificado. Es una manera de restringir la ejecuci贸n sin contrase帽a y con privilegios de administrador s贸lo al caso que necesitamos, evitando crear un agujero m谩s grande de lo estrictamente necesario.
No olvidemos que la modificaci贸n del archivo sudoers debe hacerse siempre con el comando visudo. B谩sicamente, este comando invoca un editor de texto convencional pero con verificaci贸n de sintaxis, lo que previene errores de configuraci贸n que podr铆an bloquear operaciones para las que se necesita privilegios de administrador, dej谩ndonos, en el peor de los casos, con un sistema roto. El nombre visudo proviene del cl谩sico editor vi. Sin embargo, es posible configurar el sistema para utilizar otros editores m谩s c贸modos como nano. De hecho, 茅sta es la configuraci贸n por defecto en Ubuntu.
A todo esto, la ruta a rsync suele ser:
/usr/bin/rsync
Nota: si bien esta modificaci贸n del archivo sudoers suele hacerse en la m谩quina remota, que es donde principalmente queremos ahorrarnos tener que escribir la contrase帽a, tambi茅n puede ser 煤til hacerlo en la m谩quina local cuando lo que queremos es ejecutar un script de manera autom谩tica (por ejemplo, para automatizar la creaci贸n de copias de seguridad) que necesite acceder a archivos protegidos en la m谩quina local.