web-dev-qa-db-fra.com

Utilisation de rsync avec Sudo sur la machine de destination

Ayant un problème selon lequel rsync ne définit pas les identifiants UID et GID comme prév , mon intuition est que rsyncdoit être exécuté en tant que rootsur la machine de destination.

Je ne peux pas me connecter en tant que rootvia SSH, car cette fonctionnalité est désactivée pour des raisons de sécurité. L'utilisateur sur l'ordinateur de destination peut utiliser Sudoname__.

Est-il possible d'utiliser rsyncavec Sudoname__?

32
Thomas Weller

Sur la machine de destination

  1. Découvrez le chemin d'accès à rsync: which rsync
  2. Editez le fichier /etc/sudoers: Sudo visudo (voir aussi: dois-je utiliser visudo? )
  3. Ajoutez la ligne <username> ALL=NOPASSWD:<path to rsync>, où nom_utilisateur est le nom de connexion de l'utilisateur que rsync utilisera pour se connecter. Cet utilisateur doit pouvoir utiliser Sudo

Ensuite, sur la machine source, spécifiez que Sudo rsync doit être utilisé:

rsync ... --rsync-path="Sudo rsync" ...

Si vous l’utilisez sans le NOPASSWD sur la machine de destination, le message

Sudo: aucun tty présent et aucun programme askpass spécifié

57
Thomas Weller