users
пользователи
Эта роль настраивает учетные записи пользователей Adfinis и клиентов.
Требования
Эта роль предполагает, что на системе есть начальный пользователь с правами sudo ({{users_default_user}}
, смотрите Переменные роли ниже).
Этот пользователь используется для первоначальной настройки учетных записей, а затем удаляется. Удаление происходит в последней задаче этой роли (поэтому первоначальный запуск пройдет успешно, но при повторном запуске вход не выполнится).
В playbook (или серии playbook) рекомендуется применять эту роль в двух вариантах:
В первый раз применить с
remote_user: {{users_default_user}}
.После этого применять с желаемым пользователем (либо с личной учетной записью, либо с
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
: Все задачи, которые очищают учетную запись пользователя по умолчанию.
Политика поддержки
Поддерживается и обновляется только последняя версия (смотрите Страницу тегов).
Как только выходит новая версия, предыдущая версия больше не получает исправлений ошибок.
ansible-galaxy install adfinis/ansible-role-users