web-dev-qa-db-ja.com

Ansibleプレイブックを使用してSudoモードでコマンドを実行するにはどうすればよいですか?

私のansibleプレイブックで「フォルダー作成」コマンドを実行しようとしています。 (コードは以下です)

作成には、実行にSudoログインが必要です。

プレイブックは次のように実行します。

ansible-playbook myfile.yml --ask-pass

これにより、リモートマシンのユーザーアカウントパスワードの入力を求められます。 ssh接続は確立されますが、スーパーユーザーパスワードを取得しないため、コマンドは失敗し、権限が拒否されます。

どうすれば問題を解決できますか?

 hosts: GSP
 tasks:
   - name: "make build directory"
     command: mkdir -p /home/build/
     become: true
     become_user: root
   - name: "change permissions on the directory"
     command: chmod 777 -R /home/
     become: true
     become_user: root
5

ユーザーにSudoパスワードを照会するための--ask-become-pass CLIのansible-playbookスイッチもあります。

5

プレイブックでansible_become_pass変数を追加して、パスワードになるように指定できます。

詳細はここにあります: http://docs.ansible.com/ansible/latest/become.html

2
sys0dm1n