Hinzufügen eines Benutzers zu einer zusätzlichen Gruppe mit ansible

55

Wie kann ich einen Benutzer zu zusätzlichen Gruppen in Ansible hinzufügen? Ich möchte nicht, dass vorhandene Gruppen ersetzt werden, sondern füge nur den Benutzer der sudoGruppe hinzu.

vdboor
quelle

Antworten:

48

Je nach Benutzermodul können Sie dies verwenden:

- name: Adding user {{ user }}  
  user: name={{ user }}
        group={{ user }}
        shell=/bin/bash
        password=${password}
        groups=sudo
        append=yes

Sie können das groups=groupnameund einfach hinzufügen append=yes, um es einem vorhandenen Benutzer hinzuzufügen, wenn Sie sie erstellen

art3mis
quelle
2
Danke, das append=yesist ja was ich suche!
Vdboor
1
Dies scheint ein Problem zu sein: Was ist, wenn der Benutzer bereits vorhanden ist und ich ihn nur einer Gruppe hinzufügen oder daraus entfernen möchte? Ich bin nicht 100% sicher, aber ich denke, dass das Attribut "group" nur beim Erstellen des Benutzers berücksichtigt wird.
Jlecour
2
Ich habe wirklich ein Problem damit, dass dies die akzeptierte Antwort ist, da in der Frage nicht angegeben ist, dass ein Benutzer erstellt und einer bestimmten Gruppe hinzugefügt werden soll. Wenn wir aufgrund des Titels der Frage aus einer Google-Suche stammen, möchten wir höchstwahrscheinlich einen vorhandenen Benutzer zu einer Gruppe hinzufügen.
Daniel F
72

Wenn {{ user }}bereits im System vorhanden, sollten Sie Folgendes verwenden, um es einer Gruppe hinzuzufügen:

- name: adding existing user '{{ user }}' to group sudo
  user:
    name: '{{ user }}'
    groups: sudo
    append: yes

Um es zu einer Gruppe von Gruppen hinzuzufügen, können Sie beispielsweise eine durch Kommas getrennte Liste verwenden groups: admin,sudo.

Beachten Sie jedoch append: yes, dass Ihr Benutzer aus allen anderen Gruppen entfernt wird , wenn Sie dies auslassen , wie in der man-Seite zu usermod angegeben . Dies ist nützlich, wenn Sie eine bestimmte Liste von Gruppen verwenden möchten, zu denen ein Benutzer gehören soll.

Teresa und Junior
quelle
12
… Und achten Sie darauf, nicht group:ohne das zu schreiben s, da dies die primäre GID ändern wird.
Serge Stroobandt
... und Vorsicht, wenn der Benutzer nicht existiert, wird er erstellt!
EM0
@ EM0 Ja, das userModul soll Benutzer erstellen, wenn sie nicht vorhanden sind. Der Benutzer sollte jedoch seinen Code überprüfen, wenn er versucht, Benutzer zu ändern, die eigentlich gar nicht vorhanden sind.
Teresa e Junior