linux_users

Ansible Роль - Пользователи Linux

Этот репозиторий содержит роль Ansible для пользователей Linux (linux_users).

Что делает эта роль

Эта роль Ansible создает, обновляет и удаляет пользователей Linux и их SSH ключи с использованием инвентаря.

Изменения, которые выполняются:

  1. Создание групп управления для пользователей
    1. Создание группы sysadmins для пользователей без пароля sudo
    2. Создание группы sysusers для пользователей без sudo
    3. Создание группы svcaccounts для учетных записей сервисов без пароля sudo
  2. Управление пользователем root
    1. Управление паролем root и SSH ключами
  3. Управление пользователями, не являющимися root
    1. Создание, обновление, удаление учетных записей пользователей
    2. Создание, обновление, удаление домашних директорий пользователей
    3. Управление SSH ключами пользователей
    4. Управление членством в группах пользователей (ожидается, что будет использована одна из вышеупомянутых групп)

Предупреждения

Есть несколько нюансов, о которых следует знать:

  1. Пароль root должен быть заранее зашифрован
  2. Использовать несколько SSH ключей можно двумя способами из-за использования exclusive: yes:
    1. одна строка с символами новой строки между ключами
    2. Указать URL ключей на GitHub
  3. У всех пользователей, не являющихся root, не будет установлен пароль, так как sudo будет без пароля и не ожидается, что у них будут локальные права входа
  4. Пользователи с домашней директорией в /home/, не определенные в linux_users.users, будут удалены
    1. Это не лучший способ управления неутвержденными пользователями, и планируется улучшение в будущем

Переменные

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

  1. linux_users.root_password - Заранее зашифрованный пароль для root

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

  1. linux_users.root_key - SSH ключи, используемые root. Если не указаны, то файл authorized_keys для root будет удален
  2. linux_users.users - Объекты пользователей со следующими переменными. Если не указаны, то пользователи не управляются
    users:
      - username: pgibbons
        key: "ssh-rsa BLAH BLAH BLAH"
        comment: Питер Гиббонс
        group: sysadmins
      - username: mbolton
        key: https://github.com/notthatmichaelbolton.keys
        comment: Майкл Болтон
        group: sysusers
      - username: svc-ghactions
        key: ssh-rsa BLAH BLAH BLAH\nssh-rsa BLEH BLEH BLEH"
        comment: Учетная запись сервиса - GitHub Actions
        group: svcaccounts
    

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

  1. is_kitchen - Если эта переменная определена, роли в tests/roles создают образцы пользователей для тестирования удаления неутвержденных пользователей. Кроме того, плейбук user_cleanup.yml исключит пользователя vagrant из удаления

Тестирование

Эта роль полностью протестирована с помощью Test Kitchen с использованием образцов данных инвентаря, содержащихся в этом репозитории.
TESTING.md содержит подробности и инструкции по тестированию.

Пожертвуйте для поддержки этой роли Ansible

Открытый код Route 1337 LLC сильно зависит от пожертвований. Если вы считаете эту роль Ansible полезной, пожалуйста, подумайте о том, чтобы использовать кнопку GitHub Sponsors, чтобы показать вашу поддержку.

Спасибо за вашу поддержку!

О проекте

Extremely basic user account management for Ubuntu and CentOS servers

Установить
ansible-galaxy install route1337/ansible-role-linuxusers
Лицензия
mit
Загрузки
96
Владелец
Modern InfoSec, Zero Trust, and DevOps consulting for Web2 and Web3 clients.