admin-users
Администраторы
Управление администраторами, авторизованными ключами и доступом sudo.
Поддержка версий Ansible < 2.8 была прекращена с версии 0.9.0.
Требования
Пакет sudo
будет установлен, если он еще не установлен. Amazon Linux также требует, чтобы пакет shadow-utils
был установлен перед запуском этой роли.
Переменные роли
Следующие переменные могут быть определены для настройки этой роли:
admin_users
: Список администраторов для создания или обновления; по умолчанию[]
. Каждый элемент в этом списке должен быть хешем с следующими ключами:username
: Имя пользователя администратора (обязательно).fullname
: Полное имя администратора (необязательно).shell
: Основная оболочка для этого пользователя; будет использоватьсяadmin_users_default_shell
, если этот ключ пропущен.pubkey
: Публичный ключ, который будет ассоциирован с данным пользователем. Это значение может быть строкой, содержащей содержимое публичного ключа пользователя, строкой с URL-адресом списка ключей (например, https://github.com/username.keys) или списком нескольких строк, содержащих либо содержимое публичных ключей, либо URL. Поддержка списков ключей была добавлена в 0.7.0.pubkey_options
: Дополнительные параметры для модуляauthorized_key
(необязательно).exclusive
: Boolean, указывающий, нужно ли удалять все другие публичные ключи (необязательно).
admin_user_groups
: Boolean, указывающий, нужно ли создавать/удалять группы; по умолчаниюtrue
.admin_users_sudo_nopasswd
: Boolean, указывающий, нужно ли включать sudo с опциейNOPASSWD
для администраторов; по умолчаниюtrue
.admin_users_default_shell
: Основная оболочка для администраторов; по умолчанию"/bin/bash"
.admin_users_to_remove
: Список имен пользователей для удаления из удаленной системы; по умолчанию[]
. Еслиadmin_user_groups
равноtrue
, группы с этими именами пользователей также будут удалены.
Зависимости
Нет.
Пример плейбука
Следующий плейбук обновляет администраторов на серверах разработки и продакшена с различными параметрами:
- hosts: dev-servers
vars:
dev_admin_users:
- username: joe
fullname: "Joe Dev"
pubkey:
- "ssh-rsa ..."
- "ssh-dsa ..."
- username: jim
fullname: "Jim Dev"
shell: "/bin/sh"
pubkey: "https://github.com/jim.keys"
exclusive: true
roles:
- role: cchurch.admin-users
admin_users: dev_admin_users
- hosts: prod-servers
vars:
prod_admin_users:
- username: jon
fullname: "Jon Admin"
pubkey: "ssh-rsa ..."
roles:
- role: cchurch.admin-users
admin_users: prod_admin_users
admin_users_sudo_nopasswd: false
Лицензия
BSD
Информация об авторе
Крис Чёрч (cchurch)
ansible-galaxy install cchurch/ansible-role-admin-users