Ich versuche, eine bestimmte Ansible-Aufgabe als ein anderer Benutzer auszuführen als derjenige, der das Playbook ausführt. Meine .ymlDatei sieht so aus:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
Das Ausführen dieser Aufgabe zeigt mir, dass der whoamiBefehl einen anderen Benutzer zurückgibt, als ich in der Aufgabe definiert habe (genau, gibt den Benutzer zurück, der in der hostsaufgerufenen Datei definiert ist ubuntu).
Ich habe auch versucht, die Aufgabe so zu definieren:
---
- hosts: staging_servers
tasks:
- name: check user
sudo: yes
sudo_user: someusername
shell: whoami
Aber dann bekomme ich eine Missing sudo passwordFehlermeldung, obwohl es eine Zeile in der sudoersDatei gibt, die besagt, dass das someusername ALL=(ALL) NOPASSWD:ALLAusgeben von Befehlen sudoauf einem entfernten Rechner someusernamemich nicht nach einem Passwort fragt.
Wie kann ich die spezifische Aufgabe als ein anderer Benutzer ausführen, der nicht der in der hostsDatei definierte Benutzer oder er rootselbst ist?