Эта строка фактически не добавляет пользователей в sudoers, просто убедившись, что группа wheel
может иметь без пароля sudo для всей команды.
Что касается добавления пользователей в /etc/sudoers
, это лучше всего сделать, добавив пользователей в нужные группы, а затем предоставив этим группам соответствующий доступ к sudo. Это верно, если вы также не используете Ansible.
user module позволяет указать эксклюзивный список групп или просто добавить указанные группы к текущим, которые уже есть у пользователя. Это, естественно, идемпотент, поскольку пользователь не может быть определен в группе несколько раз.
Пример игры может выглядеть примерно так:
- hosts: all
vars:
sudoers:
- user1
- user2
- user3
tasks:
- name: Make sure we have a 'wheel' group
group:
name: wheel
state: present
- name: Allow 'wheel' group to have passwordless sudo
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^%wheel'
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
validate: visudo -cf %s
- name: Add sudoers users to wheel group
user:
name: "{{ item }}"
groups: wheel
append: yes
with_items: "{{ sudoers }}"
'Validate: visudo -cf% s' как атрибут' lineinfile' задачи будет гарантировать, что вы не трогайте что-то вверх, запустив сначала с помощью команды проверки. – xenithorb