group#

Модуль ansible.builtin.group используется для управления группами пользователей на целевых узлах. С его помощью можно создавать, удалять или изменять локальные группы, а также управлять их свойствами, такими как идентификатор (Group ID, GID) и список пользователей.

Описание применения модулей приведено в документе Модули.

Особенности работы#

Особенности использования модуля ansible.builtin.group:

  • Может создавать новые группы и удалять существующие.

  • Позволяет изменять параметры уже существующей группы.

  • Дает возможность явно указать идентификатор группы.

  • Поддерживает управление составом пользователей в группе.

  • Предназначен для использования только на POSIX-совместимых ОС. Для управления группами на узлах под управлением ОС Windows используйте модуль ansible.windows.win_group.

  • Для корректной работы на целевом узле должны быть доступны утилиты управления группами: groupadd, groupmod, groupdel.

Параметры#

Модуль принимает следующие параметры:

force#

Удаление группы даже в том случае, если она является основной для одного из пользователей.

Внимание

Пользователь не будет удален или изменен, идентификатор его основной группы останется прежним и будет равен GID удаленной группы. После принудительного удаления группы необходимо самостоятельно назначить пользователю основную группу.

Применяется только на платформах, поддерживающих флаг --force при удалении группы.

Возможные значения:

  • false – если группа используется, удаление будет отменено;

  • true – удаление произойдет, даже если группа используется.

Значение по умолчанию: false.

gid#

Идентификатор (GID), который нужно назначить группе.

Если значение параметра не задано, оно будет получено автоматически путем увеличения на единицу значения последнего использованного в системе GID.

local#

Принудительное использование команд для управления локальными группами (например, lgroupadd вместо groupadd) вместо доменных.

Полезно в системах с централизованной аутентификацией, где необходимо управлять локальными группами.

Требует наличия соответствующих утилит на целевом узле, иначе выполнение завершится с ошибкой.

Возможные значения:

  • false – используются команды для управления доменными группами (например, groupadd);

  • true – используются команды для управления локальными группами (например, lgroupadd).

Значение по умолчанию: false.

name#

Обязательный параметр.

Название группы, которую необходимо создать, изменить или удалить.

non_unique#

Разрешает назначение неуникального GID для группы.

Используется только совместно с gid.

Примечание

Не поддерживается в macOS и системах на базе BusyBox.

Возможные значения:

  • false – GID должен быть уникален;

  • true – разрешено использование существующего GID.

Значение по умолчанию: false.

state#

Требуемое состояние группы на удаленном узле.

Возможные значения:

  • present – группа будет создана, если не существует;

  • absent – группа будет удалена, если существует.

Значение по умолчанию: present.

system#

Определяет, является ли создаваемая группа системной.

Возможные значения:

  • false – обычная (пользовательская) группа;

  • true – системная группа.

Значение по умолчанию: false.

Возвращаемые значения#

В этом списке указаны только возвращаемые значения, специфичные для модуля ansible.builtin.group.

  • gid – идентификатор группы, назначенный при создании.

    Условия: state=present.

  • name – название группы.

    Условия: всегда.

  • state – статус группы на целевом узле.

    Условия: всегда.

  • system – признак того, является ли группа системной.

    Условия: state=present.

Атрибуты#

Атрибуты определяют функции Ansible, которые может использовать модуль.

Атрибут

Описание

check_mode

Модуль поддерживает режим проверки.

diff_mode

Модуль не поддерживает режим сравнения.

platform

Модуль поддерживает только POSIX-совместимые ОС.

Примеры#

Для изучения возможностей модуля ознакомьтесь с приведенными ниже примерами.

Создание новой группы#

Следующий пример описывает создание новой группы admins.

---
- name: Create a group 'admins'
  ansible.builtin.group:
    name: admins
    state: present

Создание группы с пользователями#

Следующий пример описывает создание группы devs и добавление в нее пользователей.

---
- name: Add users to a group
  ansible.builtin.group:
    name: devs
    state: present
    users:
      - developer
      - devops

Создание системной группы с заданным GID#

Следующий пример описывает создание системной группы sysops с идентификатором 200.

---
- name: Create a system group with GID 200
  ansible.builtin.group:
    name: sysops
    gid: 200
    system: true

Удаление группы#

Следующий пример описывает удаление существующей группы tempgroup.

---
- name: Remove group 'tempgroup'
  ansible.builtin.group:
    name: tempgroup
    state: absent

Принудительное удаление группы#

Следующий пример описывает удаление группы oldgroup, даже если в ней есть активные пользователи.

---
- name: Forcibly remove a group even if in use
  ansible.builtin.group:
    name: oldgroup
    state: absent
    force: true