sudousers
Ansible Роль: SudoUsers
Эта роль создает учетные записи пользователей из списка с привилегиями sudo на системах на базе Debian или RHEL. Также будет добавлен флаг NOPASSWD, чтобы система не запрашивала пароль.
Требования
Любая виртуальная машина или физический сервер на базе Debian или RHEL, на котором у пользователя Ansible есть права SUDO, и установлен python3. Также должен быть установлен пакет "sudo".
Переменные роли
Для полного списка смотрите defaults/main.yml. Список пользователей
su_users:
- username: "{{ su_vault_vmuser1 }}"
password: "{{ su_vault_vmpwd1 }}"
is_super_user: true
sudo_rules: []
- username: "{{ su_vault_vmuser2 }}"
password: "{{ su_vault_vmpwd2 }}"
is_super_user: false
sudo_rules:
- "ALL=(ALL) NOPASSWD: /usr/bin/su - {{ su_vault_vmuser1 }}"
- "ALL=(root) NOPASSWD: /bin/su - {{ su_vault_vmuser1 }}"
В приведенном выше примере первый пользователь является суперпользователем, и команда sudo разрешена (Суперпользователь). Второй пользователь является ограниченным пользователем, с двумя правилами sudo, которые позволяют ему/ей переключаться на первого пользователя с помощью команды:
sudo su - user1id
В приведенном выше примере для user2 разрешена только эта одна команда sudo.
Секретные имена пользователей и пароли должны храниться в 'Secrets.yml'. Используйте ansible-vault и хеширование паролей. Не добавляйте Secrets.yml в Git/Систему управления версиями.
su_vault_vmuser1: user01
su_vault_vmpwd1: user01-password-hashed
su_vault_vmuser2: user02
su_vault_vmpwd2: user02-password-hashed
Зависимости
Нет
Пример плейбука
- hosts: servers
roles:
- role: hammadrauf.sudousers
Тестирование с Molecule
Запустите экземпляры Podman вне Molecule/Ansible, используя следующие команды:
podman run -d --name debian12 --hostname debian12 -it docker.io/hammadrauf/dockerdeb12:latest sleep infinity & wait
podman run -d --name fedora40 --hostname fedora40 -it docker.io/hammadrauf/fedora40:latest
podman run -d --name ubuntu --hostname ubuntu -it docker.io/hammadrauf/ubuntunoble:latest sleep infinity & wait
Хеширование паролей пользователей Linux
Ubuntu / Debian
$ sudo apt update
$ sudo apt install whois
$ mkpasswd --method="sha-512" --salt="Thisisarandomsaltingstring"
Password:
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1
CentOS / Fedora
$ sudo dnf install expect
$ mkpasswd --method="sha-512" --salt="Thisisarandomsaltingstring"
Password:
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1
Лицензия
MIT
Авторская информация
Эта роль была создана 10 мая 2024 года Хаммадом Раунфом.
Debian/RHEL creation of Super User with sudo permissions. Also sets the NOPASSWD flag so that Password is not asked on sudo usage.
ansible-galaxy install hammadrauf/sudousers