プレイブックを実行しているユーザーとは異なるユーザーとして特定のAnsibleタスクを実行しようとしています。私の.ymlファイルは次のようになります。
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
このタスクを実行whoamiすると、コマンドがタスクで定義したものとは異なるユーザーを返すことがわかります(正確には、hostsというファイルで定義されているユーザーを返しますubuntu)。
私もこのようなタスクを定義しようとしました:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
しかし、その後、「Missing sudo password」エラーが発生しsudoersますが、パスワードを要求しないようにリモートマシン上でsomeusername ALL=(ALL) NOPASSWD:ALLコマンドを言って発行するファイル内の行があります。sudosomeusername
それでは、hostsファイルまたはroot自分で定義されたユーザーではない別のユーザーとして特定のタスクを実行するにはどうすればよいですか?