user

Пользователь

Ansible Galaxy Статус сборки Последний тег Чат Gitter

Роль для управления пользователями.

Следующие роли были разработаны для совместной работы с этой ролью:

  • authorized-key — для управления авторизованными ключами.
  • sudo — для управления правами sudo.

Роль management-user объединяет все эти роли в одну простую в использовании роль.

Требования

  • Хосты должны быть подготовлены для использования ansible (должен быть установлен python, и т.д.)
  • Привилегии root, например, become: yes
  • На хосте должны быть доступны useradd, userdel и usermod

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

Переменная Описание Значение по умолчанию
user_list Список пользователей (см. детали!) []
user_list_host Список пользователей (см. детали!) []
user_list_group Список пользователей (см. детали!) []
user_append Значение по умолчанию для append no
user_createhome Значение по умолчанию для createhome yes
user_force Значение по умолчанию для force no
user_generate_ssh_key Значение по умолчанию для generate_ssh_key no
user_move_home Значение по умолчанию для move_home no
user_none_unique Значение по умолчанию для none_unique no
user_remove Значение по умолчанию для remove no
user_shell Значение по умолчанию для shell '/bin/sh'
user_ssh_key_bits Значение по умолчанию для ssh_key_bits 4096
user_ssh_key_file Значение по умолчанию для ssh_key_file '.ssh/id_rsa'
user_system Значение по умолчанию для system no
user_update_password Значение по умолчанию для update_password always

Детали user_list

user_list, user_list_host и user_list_group объединяются при управлении пользователями. Вы можете использовать списки хостов и групп, чтобы указать пользователей для каждого хоста или группы хостов.

Список пользователей позволяет вам определить, какие пользователи должны управляться. Каждый элемент в списке может иметь следующие атрибуты:

Переменная Описание Обязательная По умолчанию
append Только добавлять в группы? no user_append
comment Описание пользователя (также GECOS) no /
createhome Создать домашнюю директорию? no user_createhome
expires Дата истечения no /
force Использовать опцию --force при удалении пользователя no user_force
generate_ssh_key Генерировать ssh ключ? no user_generate_ssh_key
group Основная группа пользователя no /
groups Список групп для пользователя no /
home Домашняя директория для пользователя no /
login_class Класс входа для систем BSD no /
move_home Переместить домашнюю директорию no user_move_home
name Имя пользователя yes /
non_unique Разрешить не уникальный uid no user_none_unique
password Пароль для пользователя no /
remove Использовать опцию --remove при удалении пользователя no user_remove
shell Оболочка пользователя no user_shell
ssh_key_bits Размер SSH ключа no user_ssh_key_bits
ssh_key_comment Комментарий к SSH ключу no /
ssh_key_file Файл SSH ключа no user_ssh_key_file
ssh_key_passphrase Пароль-фраза для SSH ключа no /
ssh_key_type Тип SSH ключа no rsa
state Состояние пользователя no 'present'
system Системная учетная запись? no user_system
uid Идентификатор пользователя no /
update_password Обновить пароль, если изменен? no user_update_password
Пример user_list
user_list:
  - name: user1
  - name: user2
    uid: 1001
    groups:
      - test
      - sudo
  - name: user3
    uid: 1002
    state: absent

Зависимости

Отсутствуют.

Пример Playbook

---
- hosts: servers
  roles:
  - { role: GROG.user, become: yes }

Внутри group_vars/servers.yml:

user_list_group:
  - name: user
    uid: 1001
  - name: test
    state: absent

Участие

Вся помощь, изменения или идеи приветствуются!

Автор

Автор G. Roggemans

Лицензия

MIT

О проекте

A role for managing users.

Установить
ansible-galaxy install GROG/ansible-role-user
Лицензия
mit
Загрузки
239369
Владелец
Open Source Science and Technology