user
Ansible Роль: Пользователь
Ansible Роль, которая устанавливает определения входа, правила для пользователей, а также выполняет проверки безопасности, связанные с пользователями и группами. Целевые системы: RHEL/CentOS, Fedora и Debian/Ubuntu.
Требования
Нет дополнительных требований.
Переменные Роли
Доступные переменные перечислены ниже, вместе с значениями по умолчанию (см. defaults/main.yml):
user_skip_config: false
Если установлено в true, будет пропущена вся конфигурация пользователей, и будут выполнены только добавление/удаление пользователей и групп.
user_new_password: "{{ vault_admin_password }}"
Если пароль пользователя, запускающего ansible, изменится, эта переменная должна содержать новый пароль, чтобы можно было обновить ansible_become_pass и ansible_ssh_pass. Рекомендуется сохранить пароль в отдельном файле и зашифровать его с помощью vault.
user_configure_single_user: no
Указывает, необходимо ли настроить однопользовательский режим (нужно установить пароль root).
user_max_days: 365
Количество дней до истечения срока действия пароля.
user_min_days: 7
Количество дней, в течение которых пользователю разрешено менять пароль.
user_inactive_days: 30
Количество дней, прежде чем пользователь будет считаться неактивным.
user_warn_age: 7
Количество дней до истечения срока действия пароля, когда пользователю будет выдано предупреждение.
user_umask: '027'
UMASK, который будет использоваться всеми пользователями.
user_shell_timeout: 900
Таймаут оболочки в секундах.
user_fix_existing_accounts: yes
Если установлено в true/yes, будет выполнена проверка безопасности пользователей и групп.
root_password: ''
Устанавливает пароль root.
user_account_add: []
#- name: example
# comment: Это пример
# uid: 1076
# groups: ['admin']
# shell: /bin/bash
# password: encpwd
Добавьте/измените указанные учетные записи. Значение по умолчанию - пустой список. Закомментированные строки выше показывают пример того, как указать запись. Все параметры из ansible.builtin.user доступны, кроме новой опции "linger", которая включает/выключает удержание пользователя (проверьте команду loginctl для получения дополнительной информации о удержании пользователей). Если linger не указан, удержание не будет изменено. Если установлено в false, удержание будет отключено. Если установлено в true, удержание будет включено. ПРИМЕЧАНИЕ: linger не будет работать в контейнерах, так как требуется systemd и dbus.
user_account_remove: []
#- acc_to_be_removed
Список имен пользователей, которые должны быть удалены из системы.
user_group_add: []
# - name: admin
# gid: 760
Добавьте указанные группы в систему. Значение по умолчанию - пустой список. Закомментированные строки выше показывают пример того, как указать запись. Единственным обязательным параметром для каждой группы является имя (поле имени группы).
user_group_remove: []
# - mygroup
Удалите указанные группы из системы.
user_alias: []
# - user: example
# alias: ll
# command: ls -l --color=auto
# state: present
Укажите псевдонимы, которые должны быть созданы/удалены из файла bashrc пользователя. Команда не требуется, когда состояние отсутствует. Значение по умолчанию - пустой список. Закомментированные строки выше показывают пример того, как указать запись.
Зависимости
Нет зависимостей.
Пример Плейбука
- hosts: servers
vars:
user_max_days: 365
user_min_days: 7
user_inactive_days: 30
user_warn_age: 7
user_umask: '027'
user_shell_timeout: 900
user_fix_existing_accounts: yes
root_password: mypass
user_account_add:
- name: example
comment: Это пример
uid: 1076
groups: ['admin']
shell: /bin/bash
password: encpwd
linger: false
user_account_remove:
- removeme
user_group_add:
- name: admin
gid: 760
user_group_remove:
- mygroup
user_alias:
- user: example
alias: myls
command: ls -l --color=auto
state: present
roles:
- { role: guidugli.user }
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана в 2020 году Карлосом Гидугли.
Add/Remove users; define and check security settings
ansible-galaxy install guidugli/ansible-role-user