2016-11-28 5 views
0

Ich bin in der Lage, die folgenden manuell zu tun -Mit ansible sudo/bin/su laufen - username

Von meinem ansible Controller-Server ssh <> (mein Benutzer-ID verwenden) sudo/bin/su - <> .. jetzt laufen Befehle wie orafmw ...

Beim Versuch, diese gleichen Schritt zu tun mit ansible -

Mein Textbuch hat den folgenden Eintrag

Dies scheitert wie folgt -

ansible-Textbuch WebLogic-fmw-domain.yml

PLAY [Konfigurieren von Oracle Linux 7.1 mit WebLogic 12c R2 Domäne] ********* *********

TASK [Setup] ********************************* ********************************** ok: [WebLogic]

TASK [fmw-Software: Installationsverzeichnis erstellen] ******************************** fatal: [weblogic]: FEHLGESCHLAGEN! => {"failed": true, "msg": "Timeout (12s) wartet auf Zugriffsrechte Eskalation Prompt:"} zu wiederholen, verwenden Sie: --limit @/tmp/ansible-weblogic-fmw-infra-12c-R2 -master/weblogic-fmw-domain.retry

PLAY REKAPITULATION ********************************** *********************************** weblogic: ok = 1 geändert = 0 nicht erreichbar = 0 fehlgeschlagen = 1

Kann jemand darauf hinweisen, was ich hier falsch machen könnte? Die docs vorschlagen - http://docs.ansible.com/ansible/become.html

"Nur eine Methode pro Host aktiviert werden können Methoden nicht verkettet werden können Sie können nicht sudo/bin/su - verwenden. Ein Benutzer zu werden, müssen Sie Privilegien haben den Befehl als das laufen Benutzer in Sudo oder in der Lage sein, direkt darauf zu su (das gleiche für pbrun, pfexec oder andere unterstützte Methoden). "

Ist dieser Abschnitt für meinen Anwendungsfall oben anwendbar?

Antwort

0

Die become_flags scheinen redundant zu sein, um Ihr Ziel der Ausführung von Befehlen als "orafmw" -Konto zu erreichen. Als Schnelltest, wenn Sie dies tun:

- role: fmw-software 
    become: true 
    become_user: 'orafmw' 
    become_method: sudo 
    command: touch /tmp/whomadethis 

Hat die neue Datei „/ tmp/whomadethis“ auf dem Remote-Rechner erstellt bekommen und von dem orafmw Konto gehört? Wenn dies der Fall ist, ersetzen Sie den Anruf, den das Modul command: mit den Befehlen ausführt, die Sie ausführen müssen.

Besser noch, verwenden Sie nicht command: Modul, lieber verwenden Sie integrierte Ansible-Module mit den become_* Optionen nach Bedarf eingestellt.

+0

Die Sicherheit in meiner Organisation erlaubt mir nicht, sudo orafmw auszuführen, ich muss stattdessen sudo/bin/su - orafmw ausführen, ich werde nicht für Passwort herausgefordert. Mit den von Ihnen zur Verfügung gestellten Optionen erhalte ich den Fehler "sudo: ein Passwort ist erforderlich \ r \ n" – SridharS

+0

Interessant, können Sie also '' 'nur' '' verwenden, anstatt 'sudo'? –

+0

Gibt es Fehler in den Remote-Servern, die dazu beitragen könnten, etwas Licht von dieser Seite zu bekommen? –