Saya mencoba menjalankan tugas Ansible tertentu sebagai pengguna yang berbeda dari yang menjalankan playbook. .yml
File saya terlihat seperti ini:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
Menjalankan tugas ini menunjukkan kepada saya bahwa whoami
perintah mengembalikan pengguna yang berbeda dari yang saya tetapkan dalam tugas (tepatnya, mengembalikan pengguna yang didefinisikan dalam hosts
file yang dipanggil ubuntu
).
Saya juga mencoba mendefinisikan tugas seperti ini:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
tapi kemudian saya mendapatkan Missing sudo password
kesalahan, meskipun ada baris dalam sudoers
file yang mengatakan someusername ALL=(ALL) NOPASSWD:ALL
dan mengeluarkan perintah dengan sudo
pada mesin remote karena someusername
tidak meminta saya untuk kata sandi.
Jadi, bagaimana saya bisa menjalankan tugas tertentu sebagai pengguna yang berbeda yang bukan pengguna yang ditentukan dalam hosts
file atau root
dirinya sendiri?