Wie kann ich in Ansible einen Benutzer zu mehreren Gruppen hinzufügen?

Wie kann ich in Ansible einen Benutzer zu mehreren Gruppen hinzufügen?

Ich kann einen Benutzer nicht zu mehreren Gruppen hinzufügen und erhalte ständig die Meldung: Dieses Modul erfordert Schlüssel=Wert-Argumente.

Dies ist der Codeabschnitt, den ich versuche:

- name: make a new user
  user: name=user
        state=present
        groups="group1", "group2", "group3"
        comment="comment"

In der Dokumentation heißt es: Groups= Setzt den Benutzer in diese kommagetrennte Liste von Gruppen. Wenn der Wert auf die leere Zeichenfolge ('groups=') gesetzt ist, wird der Benutzer aus allen Gruppen außer der primären Gruppe entfernt.

Ich habe es mit „Gruppe“, „Gruppe“ und ohne Doppelpunkte versucht und erhalte immer noch denselben Fehler.

http://docs.ansible.com/user_module.html

Antwort1

Die korrekte Syntax lautet:

- name: make a new user
  user: name=user
        state=present
        groups="group1, group2, group3"
        comment="comment"

Antwort2

Es gibt zwei Probleme mit dem von Ihnen geposteten Code:

  1. Um mehrere Werte an zu übergeben groups, verwenden Sie durch Kommas getrennte Werte ohne Leerzeichen dazwischen:groups: group1,group2
  2. Wenn Sie in YAML jeden Schlüssel in eine eigene Zeile setzen, ersetzen Sie die =durch:

Hier ist ein Beispiel für funktionierenden Code:

- name: make a new user
  user: 
    name: johnsmith
    state: present
    groups: group1,group2
    comment: "comment"
    append: no # If yes, will only add groups, not set them to just the list in groups.

Antwort3

Ich erhalte die Meldung, dass die Gruppe „group2“ nicht existiert. (Aber ohne Anführungszeichen, um das zusätzliche Leerzeichen anzuzeigen.)

Der richtige Weg ist

groups={{ group }},{{ sudo_group }}

Antwort4

Die obigen Antworten sind falsch. So definieren Sie eine Variable richtig:

groups: group1,group2 

Dann verwenden Sie:

action: user groups={{user.groups}}

verwandte Informationen