Ich versuche, das Passwort eines vorhandenen Benutzers mit Ansible zu ändern, aber nur wenn der Benutzer bereits vorhanden ist. Ich möchte keine neuen Benutzer erstellen. Gibt es einen guten Weg?Wie kann man das Passwort eines bestehenden Benutzers ändern?
vars:
myusers:
- { name: 'user1', update_pass: 'passwd' }
- { name: 'user2', update_pass: 'passwd' }
- { name: 'user3', update_pass: 'passwd' }
tasks:
- name: check exist
shell: /usr/sbin/usermod {{ item.name }}
with_items: myusers
register: result
failed_when: result.rc not in [6,2]
changed_when: result.rc != 6
- name: change passwd
user: name={{ item.name }} password={{ item.update_pass }} update_password=always
when: result|changed
with_items: myusers
können Sie den Ansatz verwenden Sie begonnen haben. Sie müssen nur über die Ergebnisvariable in Ihrer "change passwd" Task iterieren, die den Wert des Elements für jeden Lauf des Shell-Befehls enthält. Sie müssen auch "ignore_results" zu Ihrer Aufgabe "check exists" hinzufügen, damit das Playbook nicht beendet wird. – Petro026
@ Petro026 Vielen Dank für Ihren Kommentar. Jetzt benutze ich die Ansible-Option "' --extra-vars: @ userX.yml' "und" for loop --extra-vars "mit dem lokalen Shell-Befehl. "ignore_results" in der Aufgabe, ich verstehe nicht Zeile einfügen ... Sorry, es ist anfisible Anfänger, aber erscheint es in einem Online-Dokument? – techu