hammadrauf.sudousers
Ansible Rola: SudoUsers
Ta rola tworzy konta użytkowników z listy, z uprawnieniami sudo na systemach operacyjnych opartych na Debianie lub RHEL. Doda również flagę NOPASSWD, aby hasło nie było wymagane.
Wymagania
Każda wirtualna maszyna lub fizyczny serwer oparty na Debianie lub RHEL, na którym użytkownik Ansible ma uprawnienia SUDO, oraz z zainstalowanym python3. Dodatkowo, pakiet "sudo" musi być zainstalowany.
Zmienne roli
Aby zobaczyć pełną listę, zobacz plik defaults/main.yml. Lista użytkowników
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 }}"
W powyższym przykładzie pierwszy użytkownik jest superużytkownikiem i ma prawo do korzystania z komendy sudo (Super Użytkownik). Drugi użytkownik jest użytkownikiem ograniczonym, z 2 regułami sudo, które pozwalają mu/jej przełączyć się na pierwszego użytkownika za pomocą komendy:
sudo su - user1id
W powyższym przykładzie dla użytkownika2 tylko ta jedna komenda sudo jest dozwolona.
Sekretne nazwy użytkowników i hasła należy przechowywać w pliku 'Secrets.yml'. Użyj ansible-vault i haszowania haseł. Nie dodawaj pliku Secrets.yml do Git/Źródła kontroli.
su_vault_vmuser1: user01
su_vault_vmpwd1: user01-hasło-zahardcodowane
su_vault_vmuser2: user02
su_vault_vmpwd2: user02-hasło-zahardcodowane
Zależności
Brak
Przykład playbooka
- hosts: servers
roles:
- role: hammadrauf.sudousers
Testowanie z Molecule
Uruchom instancje Podman poza Molecule/Ansible, używając następujących komend:
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
Haszowanie haseł użytkowników w systemie Linux
Ubuntu / Debian
$ sudo apt update
$ sudo apt install whois
$ mkpasswd --method="sha-512" --salt="Tojestprzykładowysalt"
Hasło:
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1
CentOS / Fedora
$ sudo dnf install expect
$ mkpasswd --method="sha-512" --salt="Tojestprzykładowysalt"
Hasło:
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1
Licencja
MIT
Informacje o autorze
Ta rola została stworzona 10 maja 2024 roku przez Hammad Rauf.
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