Je suis à l'aide de Tissu pour exécuter des commandes sur un serveur distant. L'utilisateur avec lequel je me connecter sur ce serveur possède certains privilèges sudo, et ne pas exiger un mot de passe pour utiliser ces privilèges. Lorsque SSH avec le serveur, je peux faire tourner sudo blah
et la commande s'exécute sans demander de mot de passe. Lorsque j'essaie de lancer la même commande via le Tissu de l' sudo
de la fonction, je reçois invité pour un mot de passe. C'est parce que le Tissu construit une commande de la façon suivante lors de l'utilisation d' sudo
:
sudo -S -p <sudo_prompt> /bin/bash -l -c "<command>"
Évidemment, mon utilisateur n'est pas autorisé à exécuter /bin/bash
sans mot de passe.
J'ai contourné le problème en utilisant run("sudo blah")
au lieu de sudo("blah")
, mais je me demandais si il y a une meilleure solution. Est-il une solution pour ce problème?