Mit Ansible können Sie verschiedene Vorgänge auf Remote -Maschinen mit Rohbefehls oder Ansible -Playbooks ausführen. Standardmäßig wird ein Ansible Playbook auf dem Remote -Host als derselbe Benutzer auf dem Ansible Controller ausgeführt. Das heißt, wenn Sie einen Befehl als einen anderen Benutzer auf dem Remote -Computer ausführen müssen, müssen Sie ihn in Ihrem Ansible Playbook explizit angeben.
Um die Funktionalität des Ausführens von Befehlen als einen anderen Benutzer zu implementieren, müssen Sie die Sudo -Funktion verwenden, die in Linux -Systemen verfügbar ist. Mit dem Ansible -Richtlinie können Sie Befehle als angegebener Benutzer ausführen.
Die Informationen des Benutzers werden in einem ansiblen Playbook unter Verwendung der werden Variablen wie ERNOW_PASS angegeben, um das Kennwort des Benutzers zu werden.
Wie man Ansible -Aufgaben als Wurzel ausführt
Um einen bestimmten Befehl als Stammbenutzer in Ansible auszuführen, können Sie die E -Richtlinie implementieren und den Wert auf 'true festlegen.»Dies erteilt Ansible, sudo ohne Argumente beim Ausführen des Befehls zu implementieren.
Betrachten Sie beispielsweise ein Ansible Playbook, das das MySQL-Server-Paket aktualisiert und es dann neu startet. In normalen Linux -Operationen müssten Sie sich als Root -Benutzer anmelden, um solche Aufgaben auszuführen. In Ansible können Sie einfach das werden: Ja -Anweisung, wie unten gezeigt:
- Hosts: Alles
Werde: Ja
Aufgaben:
- Name: Ansible lief als Stamm- und Aktualisierungssystem
Yum:
Name: Mysql-Server
Staat: Neueste
- Name:
Service.Service:
Name: Mysqld
Zustand: Neu gestartet
Im obigen Playbook haben wir die E -Richtlinie verwendet und den Benutzer "egen_user.
Dies ähnelt der Angabe, es als:
- Hosts: Alles
Werde: Ja
werden_user: root
Aufgaben:
- Name: Ansible lief als Stamm- und Aktualisierungssystem
Yum:
Name: Mysql-Server
Staat: Neueste
- Name: Service.Service:
Name: Mysqld
Zustand: Neu gestartet
Wie man Ansible -Aufgaben als sudo ausführt
Um eine Ansible -Aufgabe als bestimmter Benutzer auszuführen und nicht als normaler Root -Benutzer, können Sie die Anweisung "Geger_user" verwenden und den Benutzernamen des Benutzers übergeben, um die Aufgabe auszuführen. Dies ist sehr wie die Verwendung des Sudo -u -Befehls in Unix.
Um die Richtlinie "Green_user" implementieren zu können, müssen Sie zuerst die Werdenanweisung aktivieren, da der werden_user ohne diese Richtlinie aktiviert ist.
Betrachten Sie das folgende Spielbuch, in dem der Befehl als Nobelbenutzer ausgeführt wird.
- Name: Führen Sie einen Befehl als einen anderen Benutzer aus (niemand)
Befehl: PS Aux
wahr werden
werden_method: su
werden_user: Niemand
werden_flags: '-s /bin /bash' '
Im obigen Playbook -Snippet haben wir das geworden, geworden und andere Richtlinien implementiert.
Sie können jetzt das obige Spielbuch mit dem Ansible-Playbook-Dateinamen ausführen.YML und sehen Sie das Ergebnis für sich selbst. Für Aufgaben mit Ausgabe müssen Sie möglicherweise das Debug -Modul implementieren.
Wie man ansible mit Passwort ausgeführt wird
Um eine Richtlinie auszuführen, die ein Passwort erfordert.
Geben Sie beispielsweise ein Spielbuch mit einem Passwort aus, um den folgenden Befehl einzugeben:
Ansible-Playbook werden_pass.YML-Task-BECOME-PASS
Sie können auch das -K -Flag angeben, das ähnliche Operationen wie das obige Befehl ausführt. Zum Beispiel:
Ansible-Playbook werden_pass.YML -K
Sobald Sie angegeben sind, werden Sie für ein Passwort aufgefordert, wenn die Aufgaben ausgeführt werden.
NOTIZ: Sie können auch die Richtlinie in ansiblen Ad -hoc -Rohbefehlern mit dem -B -Flag verwenden. Um mehr zu erfahren, lesen Sie die unten angegebenen Dokumentationen:
https: // linkfy.zu/bebedokumentiert
Abschluss
Nachdem Sie diesen Artikel gelesen haben, sollten Sie nun wissen, wie Sie die Ansible -Richtlinie verwenden, um eine Privilegien zu einer Eskalation für verschiedene Aufgaben ausführen.
Aus Sicherheitsgründen ist es besser, Beschränkungen für verschiedene Konten zu implementieren und ausdrücklich anzugeben, wann sie verwendet werden. Die Eskalation von Privilegien ist also ein wichtiger Aspekt der Verwendung von sudo und su in Ansible.