J'essaie d'exécuter une tâche Ansible spécifique en tant qu'utilisateur différent de celui qui exécute le playbook. Mon .ymlfichier ressemble à ceci:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
L'exécution de cette tâche me montre que la whoamicommande renvoie un utilisateur différent de celui que j'ai défini dans la tâche (précisément, renvoie l'utilisateur défini dans le hostsfichier appelé ubuntu).
J'ai également essayé de définir la tâche comme ceci:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
mais ensuite j'obtiens l' Missing sudo passworderreur ' ', bien qu'il y ait une ligne dans le sudoersfichier qui dit someusername ALL=(ALL) NOPASSWD:ALLet émette des commandes avec sudosur la machine distante car someusernamene me demande pas de mot de passe.
Alors, comment puis-je exécuter la tâche spécifique en tant qu'utilisateur différent qui n'est pas l'utilisateur défini dans le hostsfichier ou rootlui-même?