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:

  1. Erstellen von Verwaltunggruppen für die Benutzer
    1. Erstellen einer Gruppe sysadmins für Benutzer ohne Passwort für sudo
    2. Erstellen einer Gruppe sysusers für Nicht-sudo-Benutzer
    3. Erstellen einer Gruppe svcaccounts für passwortlose sudo-Zugänge für Dienstkonten
  2. Verwaltung des root-Benutzers
    1. Verwaltung von roots Passwort und SSH-Schlüsseln
  3. Verwaltung von Nicht-Root-Benutzern
    1. Erstellen, Aktualisieren, Löschen von Benutzerkonten
    2. Erstellen, Aktualisieren, Löschen von Benutzer-Home-Verzeichnissen
    3. Verwaltung von Benutzer-SSH-Schlüsseln
    4. 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:

  1. Das Passwort des root-Benutzers muss vorab verschlüsselt sein
  2. Mehrere SSH-Schlüssel können auf zwei Arten verwendet werden, aufgrund der Option exclusive: yes:
    1. Eine einzelne Zeichenfolge mit Zeilenumbrüchen zwischen den Schlüsseln
    2. Verweis auf eine GitHub-URL mit Schlüsseln
  3. Alle Nicht-Root-Benutzer haben kein Passwort, da sudo passwortlos ist und sie keine lokalen Anmeldeberechtigungen haben sollen
  4. Benutzer mit einem Home-Verzeichnis in /home/, die nicht in linux_users.users definiert sind, werden gelöscht
    1. Dies ist nicht die beste Methode zur Verwaltung nicht genehmigter Benutzer und soll in Zukunft verbessert werden

Variablen

Die folgenden Variablen sind erforderlich:

  1. linux_users.root_password - Das vorab verschlüsselte Passwort für root

Die folgenden Variablen sind optional:

  1. 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öscht
  2. linux_users.users - Benutzerobjekte mit den folgenden Variablen. Wenn nicht definiert, werden die Benutzer nicht verwaltet
    users:
      - 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:

  1. is_kitchen - Wenn diese Variable definiert ist, erstellen die Rollen in tests/roles Beispielbenutzer zur Testung der Löschung nicht genehmigter Benutzer. Außerdem wird der Benutzer vagrant 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!

Über das Projekt

Extremely basic user account management for Ubuntu and CentOS servers

Installieren
ansible-galaxy install route1337.linux_users
GitHub Repository
Lizenz
mit
Downloads
183
Besitzer
Modern InfoSec, Zero Trust, and DevOps consulting for Web2 and Web3 clients.