Dodanie użytkownika do dodatkowej grupy za pomocą ansible

55

Jak mogę dodać użytkownika do dodatkowych grup w ansible? Nie chcę, aby istniejący zestaw grup został zastąpiony, dodaj tylko użytkownika do sudogrupy.

vdboor
źródło

Odpowiedzi:

48

Zgodnie z modułem użytkownika możesz użyć tego:

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

Możesz po prostu dodać groups=groupnamei, append=yesaby dodać je do istniejącego użytkownika podczas ich tworzenia

art3mis
źródło
2
Dzięki, append=yesnaprawdę tego szukam!
vdboor
1
Wydaje się, że jest z tym problem: co, jeśli użytkownik już istnieje, a ja po prostu chcę go dodać lub usunąć z grupy? Nie jestem w 100% pewien, ale myślę, że atrybut „grupa” jest brany pod uwagę tylko podczas tworzenia użytkownika.
Czwartek
2
Naprawdę mam problem z tym, że jest to akceptowana odpowiedź, ponieważ pytanie nie zawiera stwierdzenia „utwórz użytkownika i dodaj go do określonej grupy”. Jeśli pochodzimy z wyszukiwarki Google z powodu tytułu pytania, najprawdopodobniej chcielibyśmy dodać istniejącego użytkownika do grupy.
Daniel F
72

Jeśli {{ user }}już istnieje w systemie, należy użyć następujących elementów, aby dodać go do grupy:

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

Aby dodać go do zestawu grup, możesz na przykład użyć listy oddzielonej przecinkami groups: admin,sudo.

Uważaj tylko, jeśli pominiesz append: yes, twój użytkownik zostanie usunięty ze wszystkich innych grup, zgodnie ze stroną manuala usermod . Przydałoby się to, jeśli chcesz użyć określonej listy grup, do których użytkownik powinien należeć.

Teresa e Junior
źródło
12
… I uważaj, aby nie pisać group:bez s, ponieważ spowoduje to zmianę podstawowego GID.
Serge Stroobandt,
... i strzeż się, że jeśli użytkownik nie istnieje, zostanie utworzony!
EM0
@ EM0 Tak, usermoduł ma tworzyć użytkowników, jeśli nie istnieją, jednak użytkownik powinien przejrzeć swój kod, jeśli próbuje zmodyfikować użytkowników, którzy nawet nie powinni istnieć.
Teresa e Junior