1

私のシステムは、特定のユーザーがパスワードを求められずに sudo コマンドを実行できるようにセットアップされています。これは何年もの間うまく機能しています。ここで、特定のコマンドが sudo パスワードを要求する、非常に珍しい問題に遭遇しました。これは、ファブリックが出力を解析し、遠端でパスワードが要求されていると判断したためだと思います。

しかし、実はこれは間違っています!パスワードは要求されていません (同じコマンドを ssh で問題なく実行できます。パスワードは要求されません)。少なくとも、コマンドps -efに問題があることを確認しました。生成される出力の種類が原因だと思います。

実際、コマンドps -efはファブリックが遠端でこのコマンドを実行するために使用しているコマンドも示しており、これはファブリックを混乱させていると思います。おそらく sudo、出力の a はパスワードが必要であることを意味すると考えています。これは、ファブリックがパスワードの入力を求めるのをブロックしている出力の一部です。

[aaaa@bbbb:22] out: aaaa      9917  9790  0 15:10 ?        00:00:00 sshd: aaaa@notty 
[aaaa@bbbb:22] out: root      9918  9917  0 15:10 ?        00:00:00 sudo -S -p sudo password: 

出力をまったく解析しないようにファブリックに指示することはできますか、または少なくともパスワードの入力を求めないようにすることはできますか?

4

1 に答える 1

0

コマンドを呼び出す前に、シェルを false に設定してみてください。

env.shell = False
于 2012-12-08T20:51:33.297 に答える