Ansible nicht-root-sudo und "werden" privilege escalation

Ich habe eine box mit einem Benutzer david wer hat sudo-Rechte. Kann ich ssh in die box und führen Sie sudo-Operationen wie apt-get install. Wenn ich versuche, das gleiche zu tun, mit Ansible ist "privilege escalation", bekomme ich eine permission denied Fehler. Also ein einfaches playbook könnte wie folgt Aussehen:

simple_playbook.yml:

---
- name: Testing...
  hosts: all
  become: true
  become_user: david
  become_method: sudo

  tasks:
    - name: Just want to install sqlite3 for example...
      apt: name=sqlite3 state=present

Ich dieses playbook mit dem folgenden Befehl:

ansible-playbook -i inventory simple_playbook.yml --ask-become-pass

Dieser gibt mir eine Eingabeaufforderung für ein Passwort, das gebe ich und bekomme ich die folgende Fehlermeldung (abgekürzt):

fatal: [123.45.67.89]: FAILED! => {...
failed: E: Could not open lock file /var/lib/dpkg/lock - open (13: 
Permission denied)\nE: Unable to lock the administration directory
(/var/lib/dpkg/), are you root?\n", ...}

Warum bin ich immer permission denied?

Zusätzliche Informationen

Ich bin mit Ansible 2.1.1.0 und bin der Ausrichtung auf ein Ubuntu 16.04 box. Wenn ich remote_user und sudo Optionen wie pro Ansible < v1.9, es funktioniert gut, wie diese:

remote_user: david
sudo: yes

Update

Dem lokalen und remote-Benutzernamen sind die gleichen. Damit dies funktioniert, ich musste nur angeben become: yes (siehe @techraf Antwort):

Was ist der user name, der remote-Benutzer, die Sie verwenden, um führen Sie die erste ssh-Verbindung?
Ich denke, die werden, Benutzer ist root, root ändern, anstatt david, und es funktioniert.
Ich habe auch versucht das hinzufügen von 'wahr' auf die Aufgabe und das Ergebnis ist das gleiche.
Hugo - der Benutzername ist "david" auf dem remote-und dem lokalen Rechner. Wenn ich entfernen 'become_user' es funktioniert und das ist, weil es standardmäßig zu root werden (gemäß der Dokumentation). Allerdings möchte ich es als "david", nicht als'root'.
siehe meine aktualisierte Antwort.

InformationsquelleAutor DavB | 2016-12-05

Schreibe einen Kommentar