route1337.linux_users
Ansible Rolle - Linux Benutzer
Dieses Repository enthält die Ansible-Rolle für Linux-Benutzer (linux_users).
Was diese Rolle tut
Diese Ansible-Rolle erstellt, aktualisiert und löscht Linux-Benutzer sowie deren SSH-Schlüssel anhand des Inventars.
Durchgeführte Änderungen:
- Erstellen von Verwaltunggruppen für die Benutzer
- Erstellen einer Gruppe
sysadmins
für Benutzer ohne Passwort für sudo - Erstellen einer Gruppe
sysusers
für Nicht-sudo-Benutzer - Erstellen einer Gruppe
svcaccounts
für passwortlose sudo-Zugänge für Dienstkonten
- Erstellen einer Gruppe
- Verwaltung des root-Benutzers
- Verwaltung von roots Passwort und SSH-Schlüsseln
- Verwaltung von Nicht-Root-Benutzern
- Erstellen, Aktualisieren, Löschen von Benutzerkonten
- Erstellen, Aktualisieren, Löschen von Benutzer-Home-Verzeichnissen
- Verwaltung von Benutzer-SSH-Schlüsseln
- Verwaltung der Benutzergruppenmitgliedschaft (Es wird erwartet, dass eine der oben genannten Gruppen verwendet wird)
Einschränkungen
Es gibt einige Einschränkungen bei dieser Rolle, die beachtet werden sollten:
- Das Passwort des root-Benutzers muss vorab verschlüsselt sein
- Mehrere SSH-Schlüssel können auf zwei Arten verwendet werden, aufgrund der Option
exclusive: yes
:- Eine einzelne Zeichenfolge mit Zeilenumbrüchen zwischen den Schlüsseln
- Verweis auf eine GitHub-URL mit Schlüsseln
- Alle Nicht-Root-Benutzer haben kein Passwort, da sudo passwortlos ist und sie keine lokalen Anmeldeberechtigungen haben sollen
- Benutzer mit einem Home-Verzeichnis in
/home/
, die nicht inlinux_users.users
definiert sind, werden gelöscht- Dies ist nicht die beste Methode zur Verwaltung nicht genehmigter Benutzer und soll in Zukunft verbessert werden
Variablen
Die folgenden Variablen sind erforderlich:
linux_users.root_password
- Das vorab verschlüsselte Passwort für root
Die folgenden Variablen sind optional:
linux_users.root_key
- Der/die SSH-Schlüssel, die von root verwendet werden. Wenn nicht definiert, wird die Datei authorized_keys von root gelöschtlinux_users.users
- Benutzerobjekte mit den folgenden Variablen. Wenn nicht definiert, werden die Benutzer nicht verwaltetusers: - username: pgibbons key: "ssh-rsa BLAH BLAH BLAH" comment: Peter Gibbons group: sysadmins - username: mbolton key: https://github.com/notthatmichaelbolton.keys comment: Michael Bolton group: sysusers - username: svc-ghactions key: ssh-rsa BLAH BLAH BLAH\nssh-rsa BLEH BLEH BLEH" comment: ServiceAccount-GitHub Actions group: svcaccounts
Die folgende Variable sollte nur zu Testzwecken verwendet werden:
is_kitchen
- Wenn diese Variable definiert ist, erstellen die Rollen intests/roles
Beispielbenutzer zur Testung der Löschung nicht genehmigter Benutzer. Außerdem wird der Benutzervagrant
von der Löschung ausgeschlossen.
Testen
Diese Rolle wird vollständig über Test Kitchen mit Beispiel-Inventardaten aus diesem Repository getestet.
TESTING.md enthält Details und Anleitungen zum Testen.
Spende zur Unterstützung dieser Ansible Rolle
Der Open-Source-Code von Route 1337 LLC ist stark auf Spenden angewiesen. Wenn Sie diese Ansible-Rolle nützlich finden, ziehen Sie bitte in Betracht, den GitHub Sponsors-Button zu verwenden, um Ihre fortlaufende Unterstützung zu zeigen.
Vielen Dank für Ihre Unterstützung!
Extremely basic user account management for Ubuntu and CentOS servers
ansible-galaxy install route1337.linux_users