私は次のことを行うプレイブックを作成しました。
シェル: source ~/.bashrc && some_command |awk もっと見る
なる: はい
ユーザーになる: a_user
メソッドになる: sudo
ターゲットホストに接続されているAnsible_userは、ターゲットホストでsudo -iを実行できないようにする必要があります。
a_userでいくつかのコマンド(ソースなどのbash組み込みを含む)を実行できるようにしたいです。 Ansibleが次のようなことを試みるという文書を見つけました。
- Ansible_userとしてログイン
- $Ansible_user sudo -u Commands_from_playbook を実行する
ただし、プレイブックを実行しようとすると、次の結果が表示されます。 module_stderr:host_ip_hereへの共有接続close msg:MODULE FAILURE特定のエラーについてはstderrを参照してください。
ジョブは「verbosity 3」で実行されますが、stderrは表示されません。
ユーザーにsudo -iおよび/またはsudoersのALLが付与されると、スクリプトは期待どおりに実行されます。
/etc/sudoersエントリは何であるべきですか?たぶんAnsible_user ALL =(a_user)NOPASSWD:and_something_here(組み込み機能の場合は/ bin / bash?)のようなものを使用する必要があります。
どのようなヒントがありますか?