
Я не могу добавить пользователя в несколько групп, я постоянно получаю сообщение: этот модуль требует аргументы ключ=значение.
Вот фрагмент кода, который я пробую:
- name: make a new user
user: name=user
state=present
groups="group1", "group2", "group3"
comment="comment"
В документации сказано: Groups= Помещает пользователя в этот список групп, разделенных запятыми. Если задана пустая строка ('groups='), пользователь удаляется из всех групп, кроме основной группы.
Я пробовал с «group», «group» и без двоеточий, но все равно получаю ту же ошибку.
решение1
Правильный синтаксис:
- name: make a new user
user: name=user
state=present
groups="group1, group2, group3"
comment="comment"
решение2
В опубликованном вами коде есть две проблемы:
- Чтобы передать несколько значений
groups
, используйте значения, разделенные запятыми, без пробелов между ними:groups: group1,group2
- В YAML, когда вы помещаете каждый ключ на отдельную строку, поменяйте местами
=
for:
Вот пример работающего кода:
- name: make a new user
user:
name: johnsmith
state: present
groups: group1,group2
comment: "comment"
append: no # If yes, will only add groups, not set them to just the list in groups.
решение3
Я получаю сообщение Группа "group2" не существует. (Но без кавычек, это для отображения дополнительного пространства).
Правильный путь - это
groups={{ group }},{{ sudo_group }}
решение4
Ответы выше неверны. Правильный способ определения переменной:
groups: group1,group2
Затем использовать:
action: user groups={{user.groups}}