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, содержащую список пользователей для добавления. Хорошим местом для этого будет 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 - список дополнительных групп для пользователя.
  • profile - строковый блок для настройки пользовательских профилей оболочки.
  • ssh_authorized_keys - Это должен быть список ssh-ключей для пользователя. Каждый ssh-ключ должен быть представлен напрямую и не должен содержать переносы строк.

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

  • generate_ssh_key - Генерировать ли SSH-ключ для пользователя (опционально, по умолчанию - нет).

  • ssh_priv_key - приватный ssh-ключ пользователя (формат RSA).

  • shell - Оболочка пользователя. По умолчанию это /bin/bash. По умолчанию можно настроить, используя переменную users_default_shell, если вы хотите, чтобы все пользователи использовали одну и ту же оболочку, но она будет отличаться от /bin/bash.

Пример:

---
users:
  - username: foo
    name: Foo Barrington
    groups: ['wheel','systemd-journal']
    uid: 1001
    home: /local/home/foo
    profile: |
      alias ll='ls -lah'
    ssh_authorized_keys:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
    ssh_priv_key: |
      -----BEGIN RSA PRIVATE KEY-----
      Содержимое ключа <...>
      -----END RSA PRIVATE KEY-----
groups_to_create:
  - name: developers
    gid: 10000
users_deleted:
  - username: bar
    name: Bar User
    uid: 1002

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

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

О проекте

provision users and groups on linux servers

Установить
ansible-galaxy install webofmars/ansible-users
Лицензия
mit
Загрузки
286
Владелец
webofmars is a devops & IT company based in Marseille, France