So führen Sie Ansible mit sudo no password-Befehlen mit get-Syntax aus


8

Wenn ich ansible auf einem Hostcomputer ausführe, der einige Befehle enthält, die ich als root ausführen muss, kann ich diese nicht mit "werden" ausführen, da die Befehle als root ausgeführt werden, anstatt sie nur mit sudo auszuführen.

Was ich getan habe, ist command: sudo ... , Warnungen mit zu verwenden und dann zu unterdrücken

args: 
  warn: no

Gibt es eine bessere, standardisiertere Möglichkeit, eine Linux-Befehlszeile mit sudo sans password auszuführen?


Was ist der wahre Grund dafür? Ansible Verwendung sudounter der Haube, wenn Sie Aufgabe mit ausführen become.
Konstantin Suworow

1
@kon, wenn ich benutze, becomebekomme ich "msg": "Missing sudo password"aus einem Fehlergrund
Peter Turner

Antworten:


6

Wenn ich ansible auf einem Hostcomputer ausführe, der einige Befehle enthält, die ich als root ausführen muss, kann ich diese nicht mit "werden" ausführen, da die Befehle als root ausgeführt werden, anstatt sie nur mit sudo auszuführen.

Das ist nicht wahr; becomeVerwendet eine Vielzahl von Methoden zur Eskalation von Berechtigungen und wird standardmäßig verwendet sudo.

Stoßen Sie möglicherweise auf eine der bekannten Einschränkungen des Moduls "Werden" , z. B. den Versuch, den Sudo-Zugriff auf bestimmte Befehle zu beschränken ?


Nun, dies scheint eine der Einschränkungen von Ansible zu sein, wenn ich -vvv ausführe sudo -H -S -n -u root /bin/sh -c 'bunch of stuff'. Ich dachte, es könnte nur den Befehl ausführen, den ich mit sudo-Berechtigungen möchte, aber ich denke, das ist ein wenig naiv, da 1000 andere Befehlstypen mit root allgemeiner ausgeführt werden müssen.
Peter Turner

2

Hast du schon -K ausprobiert? Ich benutze immer diese Option und dann muss ein Sudo-Passwort eingegeben werden


Ja, das Problem ist, dass der von mir verwendete SSH-Benutzer keine Rechte zum Starten einer Shell als Root hat, sondern nur zu den Befehlen, die ich über ansible ausführen möchte.
Peter Turner

Ich glaube nicht, dass es möglich ist, Befehle als root auszuführen, wenn der Benutzer eine Shell nicht als root starten kann, da ansible Befehle grundsätzlich über ssh ausführt.
030
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.