Мне нужно обновить sudoers.d
несколько пользовательских файлов с несколькими строками / командами, используя ansible
playbook
users.yml
user1:
- Line1111
- Line2222
- Line3333
user2:
- Line4444
- Line5555
- Line6666
main.yml
- hosts: "{{ host_group }}"
vars_files:
- ../users.yml
tasks:
- name: Add user "user1" to sudoers.d
lineinfile:
path: /etc/sudoers.d/user1
line: '{{ item }}'
state: present
mode: 0440
create: yes
validate: 'visudo -cf %s'
with_items:
- "{{ user1 }}"
Вышеупомянутый работает только для user1
..
Если я хочу также включить user2 -> Как изменить имя файла: путь: /etc/sudoers.d/user1
Я попробовал ниже и он не работает :
Передача под пользователями в качестве переменной в main.yml
во время работы
users:
- "user1"
- "user2"
- name: Add user "{{users}}" to sudoers.d
lineinfile:
path: /etc/sudoers.d/{{users}}
line: '{{ item }}'
state: present
mode: 0440
create: yes
validate: 'visudo -cf %s'
with_items:
- "{{ users }}"
Итак, в основном я хочу передать пользователям переменную {{users}}
как user1
и user2
и хотел использовать строки для каждого пользователя из users.yml
и добавить его в соответствующие пользовательские файлы (/etc/sudoers.d/user1
и /etc/sudoers.d/user2
).
Так что /etc/sudoers.d/user1
должно выглядеть как
Line1111
Line2222
Line3333
, а /etc/sudoers.d/user2
должно выглядеть как
Line4444
Line5555
Line6666