Как добавить пользователя в несколько групп в Ansible?

Как добавить пользователя в несколько групп в Ansible?

Я не могу добавить пользователя в несколько групп, я постоянно получаю сообщение: этот модуль требует аргументы ключ=значение.

Вот фрагмент кода, который я пробую:

- name: make a new user
  user: name=user
        state=present
        groups="group1", "group2", "group3"
        comment="comment"

В документации сказано: Groups= Помещает пользователя в этот список групп, разделенных запятыми. Если задана пустая строка ('groups='), пользователь удаляется из всех групп, кроме основной группы.

Я пробовал с «group», «group» и без двоеточий, но все равно получаю ту же ошибку.

http://docs.ansible.com/user_module.html

решение1

Правильный синтаксис:

- name: make a new user
  user: name=user
        state=present
        groups="group1, group2, group3"
        comment="comment"

решение2

В опубликованном вами коде есть две проблемы:

  1. Чтобы передать несколько значений groups, используйте значения, разделенные запятыми, без пробелов между ними:groups: group1,group2
  2. В 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}}

Связанный контент