AsavarTzeth.users

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

Роль пользователей Ansible - ansible-role-users

Роль Ansible, используемая для управления пользователями, группами, авторизованными SSH-ключами и sudo.

Формат конфигурации этой роли во многом вдохновлен форматом, используемым в cloud-init/cloud config. Цель состоит в том, чтобы использовать одинаковую или аналогичную структуру yaml, где это возможно, и расширять ее там, где это имеет смысл.

Некоторые незначительные отличия:

  • Все символы тире были заменены на нижние подчеркивания; из-за того, как Ansible интерпретирует имена переменных.

Для получения дополнительной информации о cloud-init смотрите документацию по cloud-init на:
https://cloudinit.readthedocs.io/en/latest/index.html

Требования

Эта роль была разработана и протестирована на Ansible 2.2.0 и новее. Она может работать на более старых версиях, но это в настоящее время не поддерживается.

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

Список переменных и значений по умолчанию:

# Шелл пользователя по умолчанию, используемый при создании пользователя.
users_default_shell: /bin/bash

# Определяет, должна ли роль создавать основную группу, если она не существует.
# Чтобы предотвратить ошибку выполнения роли, по умолчанию установлено значение true.
# Отключите это, если группы управляются в другом месте.
users_create_primary_group: true

# Включает управление повышением привилегий с помощью sudo.
# Отключите это, если sudo не будет использоваться или управляется в другом месте.
users_enable_sudo: true

# Единственный обязательный параметр - это имя.
users:
  - name: ''                           # Имя пользователя.
    gecos: ''                          # Поле комментария, также известное и используемое для реального имени пользователя.
    homedir: ''                        # Домашний каталог пользователя.
    primary_group: ''                  # Основная группа пользователя.
    groups: []                         # Список дополнительных групп для пользователя.
    no_create_home: false              # Если true, не создавать домашний каталог. По умолчанию true, если `system: true`.
    shell: "{{ users_default_shell }}" # Шелл пользователя по умолчанию.
    passwd: ''                         # Пароль, хэшированный и посоленный SHA512.
    ssh_authorized_keys: []            # Список публичных SSH-ключей для добавления в файл authorized_keys.
    sudo: ''                           # Строка sudo, которая будет использоваться для настройки sudo.
    system: false                      # Если true, пользователь будет системным. Это не влияет на существующих пользователей.

Зависимости

Нет

Пример плейбука

Добавление или изменение пользователя и настройка sudo и авторизованных SSH-ключей:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_default_shell: /bin/bash
      users_create_primary_group: true
      users_enable_sudo: true
      users:
        - name: foobar1
          gecos: Foo B. Bar
          primary_group: foobar1
          groups: ['users','wheel']
          shell: /bin/bash
          ssh_authorized_keys:
            - "ssh-rsa AAAAA.... foo@host"
            - "ssh-rsa AAAAB.... bar@host"
          sudo: ALL=(ALL) ALL

Добавление или изменение системного пользователя:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar2
          gecos: FooBar Service Account
          homedir: /
          primary_group: foobar
          shell: /sbin/nologin
          system: true

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

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_deleted:
        - name: foobar1
        - name: foobar2

Изменение пароля пользователя:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar1
          passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/

Лицензия

BSD-2-Clause

Информация об авторе

Патрик Нильссон

Установить
ansible-galaxy install AsavarTzeth.users
Лицензия
bsd-2-clause
Загрузки
501
Владелец