users

Статус сборки

ansible-users

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

Настройка роли

  • users_create_per_user_group (по умолчанию: true) - при создании пользователей также создается группа с тем же именем, что и имя пользователя, и эта группа становится основной для пользователя.
  • users_group (по умолчанию: users) - если users_create_per_user_group не установлено, то это будет основной группой для всех созданных пользователей.
  • users_default_shell (по умолчанию: /bin/bash) - оболочка по умолчанию, если для пользователя не указана другая оболочка.
  • users_create_homedirs (по умолчанию: true) - создавать домашние директории для новых пользователей. Установите это значение в false, если вы управляете домашними директориями отдельно.
  • users_ssh_key_exclusive (по умолчанию: false) - нужно ли удалять все остальные неуказанные ключи из файла authorized_keys.
  • authorized_keys_file (по умолчанию: .ssh/authorized_keys) - установите это, если ssh-сервер настроен на использование нестандартного файла с авторизованными ключами.

Создание пользователей

Добавьте переменную users, содержащую список пользователей, которых нужно добавить. Хороший вариант расположить это в group_vars/all или group_vars/groupname, если вы хотите, чтобы пользователи существовали только на определенных машинах.

Следующие атрибуты обязательны для каждого пользователя:

  • username - Имя пользователя.
  • name - Полное имя пользователя (поле gecos).
  • home - Домашняя директория для создания (необязательно, по умолчанию /home/username).
  • uid - Числовой идентификатор пользователя (необязательно). Это необходимо для консистентности uid между системами.
  • gid - Числовой идентификатор группы (необязательно). В противном случае будет использоваться uid.
  • password - Если указан хеш, то он будет использоваться, иначе аккаунт будет заблокирован.
  • update_password - Может принимать значения 'always' или 'on_create'
    • 'always' будет обновлять пароли, если они отличаются. (по умолчанию)
    • 'on_create' будет устанавливать пароль только для вновь созданных пользователей.
  • group - Необязательно, переопределение основной группы.
  • groups - Список дополнительных групп для пользователя.
  • append - Если да, добавит только группы, а не установит их только в списке groups (необязательно).
  • profile - Блок строки для установки пользовательских оболочек.
  • ssh_key - Это должен быть список SSH-ключей для пользователя (необязательно). Каждый SSH-ключ должен быть указан напрямую и не должен содержать переносов строк.
  • generate_ssh_key - Нужно ли генерировать SSH-ключ для пользователя (необязательно, по умолчанию нет).

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

  • shell - Оболочка пользователя. По умолчанию - /bin/bash. Значение можно настроить с помощью переменной users_default_shell, если вы хотите, чтобы все пользователи имели одну и ту же оболочку, но она отличается от /bin/bash.
  • ssh_key_exclusive - Нужно ли удалять все остальные неуказанные ключи из файла authorized_keys (по умолчанию users_ssh_key_exclusive).

Пример:

---
users:
  - username: foo
    name: Foo Barrington
    groups: ['wheel','systemd-journal']
    uid: 1001
    home: /local/home/foo
    profile: |
      alias ll='ls -lah'
    ssh_key:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
groups_to_create:
  - name: developers
    gid: 10000
users_deleted:
  - username: bar
    name: Bar User
    uid: 1002

Удаление пользователей

Переменная users_deleted содержит список пользователей, которые больше не должны находиться в системе, и они будут удалены при следующем запуске ansible. Формат такой же, как для добавления пользователей, но единственным обязательным полем является username. Тем не менее, рекомендуется также сохранять поле uid для справки, чтобы числовые идентификаторы пользователей не были случайно перераспределены.

Вы можете дополнительно выбрать возможность удалить домашнюю директорию пользователя и почтовый ящик с параметром remove, и принудительно удалить файлы с параметром force.

users_deleted:
  - username: bar
    uid: 1002
    remove: yes
    force: yes
О проекте

User creation role

Установить
ansible-galaxy install pcanham/ansible-role-users
Лицензия
mit
Загрузки
707
Владелец