Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
sysadmin:tips:ubuntu:rsync [2011/04/11 15:48] james créée |
sysadmin:tips:ubuntu:rsync [2015/01/06 11:59] (Version actuelle) james ajout tags |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag>astuces rsync ubuntu sudo transfert fichier}} | ||
+ | |||
====== Rsync sous ubuntu avec sudo des deux cotés ====== | ====== Rsync sous ubuntu avec sudo des deux cotés ====== | ||
Ligne 6: | Ligne 8: | ||
Pas de panique, c'est tout de même possible de faire ce rsync : | Pas de panique, c'est tout de même possible de faire ce rsync : | ||
- | ===== Préparation ===== | + | ===== Methode 1 - sudo temporaire ===== |
+ | |||
+ | |||
+ | ==== Préparation ==== | ||
Se logguer sur la machine cible, et s'accorder les droits de sudo sur rsync avec son utilisateur : | Se logguer sur la machine cible, et s'accorder les droits de sudo sur rsync avec son utilisateur : | ||
Ligne 15: | Ligne 20: | ||
* Enregistrer et quitter l'editeur | * Enregistrer et quitter l'editeur | ||
- | ===== Copie des données ===== | + | ==== Copie des données ==== |
* Se connecter sur la machine source | * Se connecter sur la machine source | ||
* Lancer la commande suivante pour lancer le transfert :<code> | * Lancer la commande suivante pour lancer le transfert :<code> | ||
- | monUser@machine-source:~$ sudo rsync -avrp -t -e 'ssh -l' --rsync-path "sudo rsync" /chemin1/ machine-cible:/chemin2/ | + | monUser@machine-source:~$ sudo rsync -avrp -t -e 'ssh -l monUser' --rsync-path "sudo rsync" /chemin1/ machine-cible:/chemin2/ |
</code> | </code> | ||
<note>Il faut bien sur adapter les options et les chemins à ce que vous voulez faire</note> | <note>Il faut bien sur adapter les options et les chemins à ce que vous voulez faire</note> | ||
Ca y est on a réussi a rsync des fichiers locaux que seul l'utilisateur root peut lire vers une machine distante ou seul l'utilisateur root peut ecrire :-) | Ca y est on a réussi a rsync des fichiers locaux que seul l'utilisateur root peut lire vers une machine distante ou seul l'utilisateur root peut ecrire :-) | ||
<note>Merci ubuntu :-)</note> | <note>Merci ubuntu :-)</note> | ||
+ | |||
+ | ===== Methode 2 - ssh-agent ===== | ||
+ | |||
+ | Utiliser ssh-agent pour faire ce rsync : | ||
+ | * se connecter a la machine cible en forwardant l'authentification la connexion a l'agent SSH depuis son poste :<code> | ||
+ | ssh monUser@machine-cible -A</code> | ||
+ | * sur la machine cible, récupérer et exporter le chemin du socket ssh-agent :<code> | ||
+ | monUser@machine-cible:~$ env | grep SSH_AUTH_SOCK</code> | ||
+ | * lancer un shell root en sudo :<code> | ||
+ | monUser@machine-cible:~$ sudo -s</code> | ||
+ | * faire un export de cette variable, comme par exemple :<code> | ||
+ | machine-cible:~# export SSH_AUTH_SOCK=/tmp/ssh-LaSyd12725/agent.12725</code> | ||
+ | * il suffit ensuite de faire le rsync come si de rien n'etait :<code> | ||
+ | machine-cible:~# rsync -avrp -t machine-source:/chemin1/ /chemin2/</code> | ||
+ | |||
+ | Cette méthode a l'avantage de ne pas devoir mettre un sudo temporaire pour ce rsync |