Ansible: Hinzufügen Unix-Gruppe Benutzer nur, wenn die Gruppe vorhanden ist

Ich bin mit Ansible zum hinzufügen eines Benutzers zu einer Vielzahl von Servern. Einige Server haben verschiedene UNIX-Gruppen definiert. Ich würde gerne einen Weg finden, für Ansible zu prüfen, die Existenz einer Gruppe, die ich geben, und wenn die Gruppe vorhanden ist, hinzufügen eines Benutzers sekundären Gruppen-Liste (aber ignoriert die Anweisung, wenn die Gruppe nicht existiert).

Irgendwelche Gedanken auf, wie ich könnte dies tun, mit Ansible?

Hier ist mein Ausgangspunkt.

Befehl

ansible-playbook -i 'localhost,' -c local ansible_user.yml

ansible_user.yml

---

- hosts: all
  user: root
  become: yes
  vars:
    password: "!"
    user: testa
  tasks:
    - name: add user
      user: name="{{user}}"
            state=present
            password="{{password}}"
            shell=/bin/bash
            append=yes
            comment="test User"

Aktualisiert: basiert auf der Lösung von @udondan, ich war in der Lage, diese arbeiten mit den folgenden zusätzlichen Aufgaben.

    - name: Check if user exists
      shell: /usr/bin/getent group | awk -F":" '{print $1}'
      register: etc_groups

    - name: Add secondary Groups to user
      user: name="{{user}}" groups="{{item}}" append=yes
      when: '"{{item}}" in etc_groups.stdout_lines'
      with_items: 
          - sudo
          - wheel
InformationsquelleAutor Joe J | 2016-03-04
Schreibe einen Kommentar