Frage

Ich verwende Ansible, um ein Skript zu erstellen, das einen bestimmten Befehl ausführt (rosdep) auf einem Remote-Host.Dieser Befehl muss als normaler Benutzer und nicht als Root ausgeführt werden, fordert den Benutzer jedoch gelegentlich zur Eingabe seines Sudo-Passworts auf, um Root-Rechte für die Installation von Software zu erhalten.

Gibt es eine Möglichkeit, ansible anzuweisen, auf diese Passwortabfragen zu reagieren, während der Remote-Befehl ausgeführt wird?Ich möchte nicht den gesamten Befehl mit sudo ausführen, daher funktioniert die Option -K für diesen Zweck nicht.

War es hilfreich?

Lösung

Erwägen Sie eine Änderung Ihres Sudoer Datei, damit diese spezifischen Befehle ausgeführt werden können sudo ohne eine solche Passwortabfrage.

Der einfachste, aber vielleicht nicht beste Weg wäre die Verwendung von:

tessa    ALL=NOPASSWD: ALL

Das bedeutet, dass alle Befehle ohne Passwortabfrage über sudo ausgeführt werden dürfen.

Ein besserer Ansatz wäre, herauszufinden, welche spezifischen Befehle Sudo-Berechtigungen erfordern, und sie dann der Sudoers-Datei hinzuzufügen.

Zum Beispiel:

tessa    ALL=NOPASSWD:/usr/bin/whoami

Sie können modifiziert versenden /etc/sudoers Datei/Vorlage als Teil Ihres Ansible-Playbooks.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top