Как я могу добавить пользователя в дополнительные группы в анзибле? Я не хочу заменять существующий набор групп, просто добавляю пользователя в sudo
группа.
Если {{ user }}
уже существует в системе, вы должны использовать следующее, чтобы просто добавить его в группу:
- name: adding existing user '{{ user }}' to group sudo
user:
name: '{{ user }}'
groups: sudo
append: yes
Чтобы добавить его в набор групп, вы можете использовать список, разделенный запятыми, например groups: admin,sudo
.
Только помните, что если вы опустите append: yes
, ваш пользователь будет удален из всех остальных групп в соответствии с страница руководства usermod. Это было бы полезно, если вы хотите использовать определенный список групп, к которым должен принадлежать пользователь.
Согласно Модуль пользователя вы можете использовать это:
- name: Adding user {{ user }}
user: name={{ user }}
group={{ user }}
shell=/bin/bash
password=${password}
groups=sudo
append=yes
Вы можете просто добавить groups=groupname
и append=yes
чтобы добавить их к существующему пользователю при их создании
Обратите внимание, что {{ user }}
был изменен на {{ ansible_user }}
в последних версиях Ansible (https://github.com/ansible/ansible/blob/c600ab81ee/lib/ansible/playbook/play_context.py#L46-L55). В качестве альтернативы вы также можете использовать ansible_ssh_user
- это то же самое. Итак, обновленный код от Teresa e Junior выглядит так:
- name: adding existing user "{{ ansible_user }}" to group sudo
user:
name: "{{ ansible_user }}"
groups: sudo
append: yes
become: yes
Дополнительные исправления:
become: yes
поскольку для изменения файла групп необходимы права администратора