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