我正在尝试以与运行剧本的用户不同的用户身份运行特定的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他自己定义的用户)身份运行特定任务?