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 .yml
fichier 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 whoami
commande 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 hosts
fichier 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 password
erreur ' ', bien qu'il y ait une ligne dans le sudoers
fichier qui dit someusername ALL=(ALL) NOPASSWD:ALL
et émette des commandes avec sudo
sur la machine distante car someusername
ne 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 hosts
fichier ou root
lui-même?