7

このドキュメントによると、ファブリックを使用すると、次のfabfileようなことなく任意のシェルコマンドを実行できます。

fab -H host1,host2 -- echo 'hello, world!'

sudo同じ方法でコマンドを実行することもできますsudoが、リスト内のすべてのホストのパスワードを求めるプロンプトが表示されます。

各ホストのパスワードを入力する必要がないようにする方法はありますか? sudoFabric 機能が機能するようにする必要がありsudo()ますか?

4

3 に答える 3

3

次の行を etc/sudoers に追加するだけです。ここで、myusername は、sudo を実行する予定のユーザーにする必要があります。以下を実行することによるセキュリティへの影響を理解する必要があります。以下のオプションを制限して、ユーザーがパスワードなしで sudo できるコマンドを制限することもできます。

myusername    ALL=(ALL) NOPASSWD: ALL
于 2012-11-08T19:10:14.437 に答える
1

env.passwordファブリックに魔法をかけるように設定したり、...

...複数のマシンにパスワードを使用することもできます:

from fabric import env
env.hosts = ['user1@host1:port1', 'user2@host2.port2']
env.passwords = {'user1@host1:port1': 'password1', 'user2@host2.port2': 'password2'}

この回答を参照してください: https://stackoverflow.com/a/5568219/552671

于 2013-09-28T12:39:31.797 に答える
0

また、sshキーファイルに対するpam-authenticationを検討することもできます。良い入門書はこのブログエントリです。このようにして、セキュリティを危険にさらす必要はありません。資格のあるアカウントを持っている場合は、sudo操作の前にキーファイルをリモートアカウントにコピーすることもできます。:-)

于 2012-11-08T19:42:00.100 に答える