プレイブックを実行しているユーザーとは異なるユーザーとして特定の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
コマンドを言って発行するファイル内の行があります。sudo
someusername
それでは、hosts
ファイルまたはroot
自分で定義されたユーザーではない別のユーザーとして特定のタスクを実行するにはどうすればよいですか?