Назад | Перейти на главную страницу

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

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

Это фрагмент кода, который я пытаюсь:

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

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

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

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

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

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

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

  1. Чтобы передать несколько значений в groupsиспользуйте значения, разделенные запятыми, без пробелов между ними: groups: group1,group2
  2. В YAML, когда вы помещаете каждый ключ в отдельную строку, поменяйте местами = для :

Вот пример рабочего кода:

- 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.

Я получаю Группа "group2" не существует. (Но без кавычек, это лишний пробел).

Правильный способ

groups={{ group }},{{ sudo_group }}

Приведенные выше ответы неверны. Правильный способ определения переменной:

groups: group1,group2 

Затем использовать:

action: user groups={{user.groups}}