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