Saya mencoba menjalankan tugas Ansible tertentu sebagai pengguna yang berbeda dari yang menjalankan playbook. .ymlFile saya terlihat seperti ini:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
Menjalankan tugas ini menunjukkan kepada saya bahwa whoamiperintah mengembalikan pengguna yang berbeda dari yang saya tetapkan dalam tugas (tepatnya, mengembalikan pengguna yang didefinisikan dalam hostsfile 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 passwordkesalahan, meskipun ada baris dalam sudoersfile yang mengatakan someusername ALL=(ALL) NOPASSWD:ALLdan mengeluarkan perintah dengan sudopada mesin remote karena someusernametidak meminta saya untuk kata sandi.
Jadi, bagaimana saya bisa menjalankan tugas tertentu sebagai pengguna yang berbeda yang bukan pengguna yang ditentukan dalam hostsfile atau rootdirinya sendiri?