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

Добавление пользователя в дополнительную группу с помощью ansible

Как я могу добавить пользователя в дополнительные группы в анзибле? Я не хочу заменять существующий набор групп, просто добавляю пользователя в sudo группа.

Если {{ user }} уже существует в системе, вы должны использовать следующее, чтобы просто добавить его в группу:

- name: adding existing user '{{ user }}' to group sudo
  user:
    name: '{{ user }}'
    groups: sudo
    append: yes

Чтобы добавить его в набор групп, вы можете использовать список, разделенный запятыми, например groups: admin,sudo.

Только помните, что если вы опустите append: yes, ваш пользователь будет удален из всех остальных групп в соответствии с страница руководства usermod. Это было бы полезно, если вы хотите использовать определенный список групп, к которым должен принадлежать пользователь.

Согласно Модуль пользователя вы можете использовать это:

- name: Adding user {{ user }}  
  user: name={{ user }}
        group={{ user }}
        shell=/bin/bash
        password=${password}
        groups=sudo
        append=yes

Вы можете просто добавить groups=groupname и append=yes чтобы добавить их к существующему пользователю при их создании

Обратите внимание, что {{ user }} был изменен на {{ ansible_user }} в последних версиях Ansible (https://github.com/ansible/ansible/blob/c600ab81ee/lib/ansible/playbook/play_context.py#L46-L55). В качестве альтернативы вы также можете использовать ansible_ssh_user - это то же самое. Итак, обновленный код от Teresa e Junior выглядит так:

- name: adding existing user "{{ ansible_user }}" to group sudo user: name: "{{ ansible_user }}" groups: sudo append: yes become: yes

Дополнительные исправления:

  • Используйте двойные кавычки, чтобы переменная расширялась
  • Добавить become: yes поскольку для изменения файла групп необходимы права администратора