web-dev-qa-db-fra.com

Ajouter un utilisateur à un groupe supplémentaire en utilisant ansible

Comment puis-je ajouter un utilisateur à des groupes supplémentaires dans ansible? Je ne veux pas que l'ensemble de groupes existant soit remplacé, ajoutez uniquement l'utilisateur au groupe Sudo.

63
vdboor

Selon le module utilisateur vous pouvez utiliser ceci:

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

Vous pouvez simplement ajouter le groups=groupname et append=yes pour les ajouter à un utilisateur existant lorsque vous les créez

50
art3mis

Si {{ user }} existe déjà dans le système, vous devez utiliser ce qui suit pour l'ajouter simplement à un groupe:

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

Pour l'ajouter à un ensemble de groupes, vous pouvez utiliser une liste séparée par des virgules, par exemple groups: admin,Sudo.

Attention, si vous omettez append: yes, votre utilisateur sera supprimé de tous les autres groupes, selon la page de manuel usermod . Cela serait utile si vous souhaitez utiliser une liste spécifique de groupes auxquels un utilisateur doit appartenir.

85
Teresa e Junior

Veuillez noter que {{ user }} a été remplacé par {{ ansible_user }} dans les versions récentes d'Ansible ( https://github.com/ansible/ansible/blob/c600ab81ee/lib/ansible/playbook/play_context.py#L46-L55 ). Vous pouvez également utiliser ansible_ssh_user - c'est le même. Ainsi, le code mis à jour de Teresa e Junior ressemble à:

- name: adding existing user "{{ ansible_user }}" to group Sudo user: name: "{{ ansible_user }}" groups: Sudo append: yes become: yes

Plus de correctifs:

  • Utilisez des guillemets doubles pour que la variable se développe
  • Ajouter become: yes car il a besoin de privilèges administratifs pour modifier le fichier des groupes