hammadrauf.sudousers
Ansible Rolle: SudoUsers
Diese Rolle erstellt Benutzerkonten aus einer Liste, mit Sudo-Rechten auf Debian-basierten Betriebssystemen oder RHEL-basierten Betriebssystemen. Sie fügt auch das NOPASSWD-Flag hinzu, sodass kein Passwort abgefragt wird.
Anforderungen
Eine Debian- oder RHEL-basierte virtuelle Maschine oder ein physischer Server, auf dem der Ansible-Benutzer SUDO-Berechtigungen hat und Python3 installiert ist. Außerdem muss das Paket "sudo" installiert sein.
Rollenvariablen
Für eine vollständige Liste siehe defaults/main.yml. Liste der Benutzer
su_users:
- benutzername: "{{ su_vault_vmuser1 }}"
passwort: "{{ su_vault_vmpwd1 }}"
ist_super_user: true
sudo_regeln: []
- benutzername: "{{ su_vault_vmuser2 }}"
passwort: "{{ su_vault_vmpwd2 }}"
ist_super_user: false
sudo_regeln:
- "ALL=(ALL) NOPASSWD: /usr/bin/su - {{ su_vault_vmuser1 }}"
- "ALL=(root) NOPASSWD: /bin/su - {{ su_vault_vmuser1 }}"
Im obigen Beispiel ist der erste Benutzer ein Superbenutzer und der Sudo-Befehl ist erlaubt (Superbenutzer). Der zweite Benutzer ist ein eingeschränkter Benutzer, mit 2 Sudo-Regeln, die ihm/ihr erlauben, zum ersten Benutzer zu wechseln, indem er/sie einen Befehl wie diesen ausführt:
sudo su - user1id
Im obigen Beispiel ist für Benutzer2 nur dieser 1 Sudo-Befehl erlaubt.
Geheime Benutzernamen und Passwörter sollten in 'Secrets.yml' gespeichert werden. Verwenden Sie ansible-vault und Passwort-Hashing. Committen Sie Secrets.yml nicht in Git/Versionskontrolle.
su_vault_vmuser1: benutzer01
su_vault_vmpwd1: benutzer01-passwort-gehasht
su_vault_vmuser2: benutzer02
su_vault_vmpwd2: benutzer02-passwort-gehasht
Abhängigkeiten
Keine
Beispiel-Playbook
- hosts: server
rollen:
- rolle: hammadrauf.sudousers
Testen mit Molecule
Starten Sie Podman-Instanzen außerhalb von Molecule/Ansible mit den folgenden Befehlen:
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 Benutzer Passwort Hashing
Ubuntu / Debian
$ sudo apt update
$ sudo apt install whois
$ mkpasswd --method="sha-512" --salt="DiesistEineZufälligeSalzString"
Passwort:
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1
CentOS / Fedora
$ sudo dnf install expect
$ mkpasswd --method="sha-512" --salt="DiesistEineZufälligeSalzString"
Passwort:
$6$ieMLxPFShvi6rao9$XEAU9ZDvnPtL.sDuSdRi6M79sgD9254b/0wZvftBNvMOjj3pHJBCIe04x2M.JA7gZ7MwpBWat1t4WQDFziZPw1
Lizenz
MIT
Autoreninformation
Diese Rolle wurde am 10. Mai 2024 von Hammad Rauf erstellt.
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