Ich versuche, eine bestimmte Ansible-Aufgabe als ein anderer Benutzer auszuführen als derjenige, der das Playbook ausführt. Meine .yml
Datei sieht so aus:
---
- hosts: staging_servers
tasks:
- name: check user
remote_user: someusername
shell: whoami
Das Ausführen dieser Aufgabe zeigt mir, dass der whoami
Befehl einen anderen Benutzer zurückgibt, als ich in der Aufgabe definiert habe (genau, gibt den Benutzer zurück, der in der hosts
aufgerufenen 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 password
Fehlermeldung, obwohl es eine Zeile in der sudoers
Datei gibt, die besagt, dass das someusername ALL=(ALL) NOPASSWD:ALL
Ausgeben von Befehlen sudo
auf einem entfernten Rechner someusername
mich nicht nach einem Passwort fragt.
Wie kann ich die spezifische Aufgabe als ein anderer Benutzer ausführen, der nicht der in der hosts
Datei definierte Benutzer oder er root
selbst ist?