я использую Fabric для выполнения команд на удаленном сервере. Пользователь, с которым я подключаюсь на этом сервере, имеет некоторые привилегии sudo и не требует пароля для использования этих привилегий. При подключении к серверу по SSH я могу запустить sudo blah
, и команда выполняется без запроса пароля. Когда я пытаюсь запустить ту же команду с помощью функции sudo
Fabric, мне предлагается ввести пароль. Это связано с тем, что при использовании sudo
Fabric создает команду следующим образом:
sudo -S -p /bin/bash -l -c ""
Очевидно, у моего пользователя нет разрешения на выполнение / bin / bash
без пароля.
Я обошел эту проблему, используя run ("sudo blah")
вместо sudo ("blah")
, но мне было интересно, есть ли лучшее решение. Есть ли способ решения этой проблемы?