linux_users
Ansible Роль - Пользователи Linux
Этот репозиторий содержит роль Ansible для пользователей Linux (linux_users).
Что делает эта роль
Эта роль Ansible создает, обновляет и удаляет пользователей Linux и их SSH ключи с использованием инвентаря.
Изменения, которые выполняются:
- Создание групп управления для пользователей
- Создание группы
sysadmins
для пользователей без пароля sudo - Создание группы
sysusers
для пользователей без sudo - Создание группы
svcaccounts
для учетных записей сервисов без пароля sudo
- Создание группы
- Управление пользователем root
- Управление паролем root и SSH ключами
- Управление пользователями, не являющимися root
- Создание, обновление, удаление учетных записей пользователей
- Создание, обновление, удаление домашних директорий пользователей
- Управление SSH ключами пользователей
- Управление членством в группах пользователей (ожидается, что будет использована одна из вышеупомянутых групп)
Предупреждения
Есть несколько нюансов, о которых следует знать:
- Пароль root должен быть заранее зашифрован
- Использовать несколько SSH ключей можно двумя способами из-за использования
exclusive: yes
:- одна строка с символами новой строки между ключами
- Указать URL ключей на GitHub
- У всех пользователей, не являющихся root, не будет установлен пароль, так как sudo будет без пароля и не ожидается, что у них будут локальные права входа
- Пользователи с домашней директорией в
/home/
, не определенные вlinux_users.users
, будут удалены- Это не лучший способ управления неутвержденными пользователями, и планируется улучшение в будущем
Переменные
Следующие переменные обязательны:
linux_users.root_password
- Заранее зашифрованный пароль для root
Следующие переменные являются необязательными:
linux_users.root_key
- SSH ключи, используемые root. Если не указаны, то файл authorized_keys для root будет удален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
Следующие переменные следует использовать только для тестирования:
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