users

пользователи

Эта роль настраивает учетные записи пользователей Adfinis и клиентов.

Требования

Эта роль предполагает, что на системе есть начальный пользователь с правами sudo ({{users_default_user}}, смотрите Переменные роли ниже).

Этот пользователь используется для первоначальной настройки учетных записей, а затем удаляется. Удаление происходит в последней задаче этой роли (поэтому первоначальный запуск пройдет успешно, но при повторном запуске вход не выполнится).

В playbook (или серии playbook) рекомендуется применять эту роль в двух вариантах:

  1. В первый раз применить с remote_user: {{users_default_user}}.

  2. После этого применять с желаемым пользователем (либо с личной учетной записью, либо с root, если это разрешено).

Рекомендуется сохранить playbook/play для первоначальной настройки и playbook/play для постоянного управления.

Зависимости роли

(нет)

Переменные роли

Обязательные

  • users_root_password_salt (строка, по умолчанию: не задано):
    Соль, используемая для хэширования пароля root.
    Примечание: Требуется только если users_root_password установлен и users_root_password_is_hashed равен false.

  • users_customer_group (строка):
    Название системной группы, в которую добавляются все учетные записи пользователей клиентов.
    Примечание: Требуется только если users_customer не пустой.

Необязательные

  • users_root_password (строка, по умолчанию: не задано):
    Если это значение не задано, пароль root не изменяется.
    Если это значение задано и users_root_password_is_hashed равно false, это открытый текст пароля, и users_root_password_salt также должен быть установлен.
    Если это значение задано и users_root_password_is_hashed равно true, это предполагается как хэшированный пароль (как создается с помощью [ansible.builtin.password_hash][ansible:filter:password_hash]).

  • users_root_password_is_hashed (логический, по умолчанию: false):
    Если установлено в true, users_root_password предполагается как уже хэшированный (в этом случае users_root_password_salt не требуется).

  • users_root_authorized_keys (список, по умолчанию: []):
    Публичные SSH ключи, которые будут иметь право на вход как root.
    Каждый элемент списка является объектом со следующими свойствами:

    • key (строка, обязательное):
      Данные ключа.
    • comment (строка, необязательное, по умолчанию: не задано):
      Комментарий, добавляемый к строке ключа (обычно user@host).
    • description (строка, необязательное, по умолчанию: не задано):
      Читаемое описание, которое будет помещено в качестве комментария в файл authorized_keys над строкой ключа.
    • options (строка, необязательное, по умолчанию: не задано):
      Строка параметров ключа, которая будет добавлена к строке ключа.
  • users_adfinis (список, по умолчанию: []):
    Учетные записи пользователей Adfinis для настройки. Каждый пользователь будет добавлен в системную группу {{users_adfinis_group}}. Соответственно, каждый существующий не системный пользователь в этой группе, который не указан в этой переменной, будет удален.
    Каждый элемент списка является объектом со следующими свойствами:

    • username (строка, обязательное):
      Имя учетной записи пользователя.
    • authorized_keys (список, по умолчанию: []):
      Публичные SSH ключи, которые будут иметь право на вход как root.
      Каждый элемент списка является объектом со свойствами, описанными в users_root_authorized_keys.
  • users_adfinis_group (строка, по умолчанию: adfinis):
    Название системной группы, в которую добавляются все учетные записи пользователей Adfinis.

  • users_adfinis_ssh_pubkey_options (строка, по умолчанию: не задано):
    Строка параметров ключа, которая будет добавлена ко всем строкам ключей.

  • users_adfinis_homedir_mode (режим доступа к файлу, по умолчанию: 0700):
    Режим доступа к файлу для домашнего каталога каждого пользователя Adfinis.
    Примечание: Из-за исторической проблемы с Jinja2, восьмеричное представление режима должно быть передано как строка (чтобы гарантировать, что оно не будет неправильно преобразовано), или [эта опция Ansible][ansible:vars:default_jinja2_native] должна быть установлена в true.

  • users_adfinis_unrestricted_sudo (логический, по умолчанию: true):
    Имеют ли пользователи Adfinis неограниченные права sudo.

  • users_adfinis_user_remove_home (логический, по умолчанию: false):
    Удаляется ли домашний каталог при удалении учетной записи Adfinis, не указанной в списке.

  • users_customer (список, по умолчанию: []):
    Учетные записи пользователей клиентов для настройки. Каждый пользователь будет добавлен в системную группу {{users_customer_group}}.
    Каждый элемент списка является объектом со свойствами, описанными в users_adfinis.

  • users_customer_homedir_mode (режим доступа к файлу, по умолчанию: 0755):
    Режим доступа к файлу для домашнего каталога каждого пользователя клиента.
    По умолчанию он является общедоступным, чтобы клиенты могли использовать sudo -u для выполнения команд от имени других пользователей и при этом передавать файлы из их домашнего каталога.
    Примечание: Из-за исторической проблемы с Jinja2, восьмеричное представление режима должно быть передано как строка (чтобы гарантировать, что оно не будет неправильно преобразовано), или [эта опция Ansible][ansible:vars:default_jinja2_native] должна быть установлена в true.

  • users_customer_unrestricted_sudo (логический, по умолчанию: false):
    Имеют ли пользователи клиентов неограниченные права sudo.

  • users_default_user (строка, по умолчанию: adfinis):
    Имя изначально существующей учетной записи не-root пользователя на системе, которая будет удалена.

  • users_default_user_remove_home (логический, по умолчанию: false):
    Удаляется ли также домашний каталог изначально существующей учетной записи не-root пользователя.

Теги роли

  • init: То же самое, что и role::users:root и role::users:adfinis объединенные.
  • role::users: Все задачи в этой роли.
  • role::users:root: Все задачи, которые настраивают учетную запись пользователя root.
  • role::users:adfinis: Все задачи, которые настраивают учетные записи пользователей Adfinis.
  • role::users:adfinis:create: Все задачи, которые настраивают учетные записи пользователей Adfinis (без удаления).
  • role::users:adfinis:delete: Все задачи, которые удаляют лишние учетные записи пользователей Adfinis.
  • role::users:customer: Все задачи, которые настраивают учетные записи клиентов.
  • role::users:default: Все задачи, которые очищают учетную запись пользователя по умолчанию.

Политика поддержки

Поддерживается и обновляется только последняя версия (смотрите Страницу тегов).

Как только выходит новая версия, предыдущая версия больше не получает исправлений ошибок.

О проекте

Set up root and user accounts

Установить
ansible-galaxy install adfinis/ansible-role-users
Лицензия
Unknown
Загрузки
148
Владелец
Potential. Unlocked.