adfinis.users

Benutzer

Diese Rolle richtet Benutzerkonten für Kunden und Adfinis ein.

Anforderungen

Diese Rolle setzt voraus, dass ein anfänglicher Nicht-Root-Benutzer mit Sudo-Rechten im System vorhanden ist ({{users_default_user}}, siehe Rollenvariablen weiter unten).

Dieser Benutzer wird für die Einrichtung der anfänglichen Benutzerkonten verwendet und anschließend gelöscht. Die Löschung erfolgt in der letzten Aufgabe dieser Rolle (ein erster Durchlauf funktioniert gut, aber bei einer Wiederholung wird die Anmeldung fehlschlagen).

In einem Playbook (oder einer Serie von Playbooks) wird daher empfohlen, diese Rolle in zwei Varianten anzuwenden:

  1. Das erste Mal mit remote_user: {{users_default_user}} anwenden.

  2. Danach mit dem beabsichtigten Benutzer (entweder dem persönlichen Konto oder root, wenn erlaubt) anwenden.

Es wird empfohlen, ein Playbook/Play für die anfängliche Einrichtung und ein weiteres Playbook/Play für die kontinuierliche Verwaltung zu behalten.

Rollenabhängigkeiten

(keine)

Rollenvariablen

Pflicht

  • users_root_password_salt (String, Standard: nicht gesetzt):
    Salt, das für die Hashing des Root-Passworts verwendet wird.
    Hinweis: Nur erforderlich, wenn users_root_password gesetzt ist und users_root_password_is_hashed falsch ist.

  • users_customer_group (String):
    Name der Systemgruppe, zu der alle Kundenbenutzerkonten hinzugefügt werden.
    Hinweis: Nur erforderlich, wenn users_customer nicht leer ist.

Optional

  • users_root_password (String, Standard: nicht gesetzt):
    Wenn dies nicht gesetzt ist, wird das Root-Passwort nicht geändert.
    Wenn dies gesetzt ist und users_root_password_is_hashed falsch ist, ist dies das Passwort im Klartext, und users_root_password_salt muss ebenfalls gesetzt sein.
    Wenn dies gesetzt ist und users_root_password_is_hashed wahr ist, wird angenommen, dass dies ein gehashtes Passwort ist (wie erstellt von [ansible.builtin.password_hash][ansible:filter:password_hash]).

  • users_root_password_is_hashed (Boolean, Standard: false):
    Wenn auf true gesetzt, wird angenommen, dass users_root_password bereits gehasht wurde (in diesem Fall ist users_root_password_salt nicht erforderlich).

  • users_root_authorized_keys (Liste, Standard: []):
    SSH-Öffentliche Schlüssel, die die Genehmigung zum Einloggen als root erhalten.
    Jedes Listenelement ist ein Objekt mit den folgenden Eigenschaften:

    • key (String, Pflicht):
      Schlüssel-Daten selbst.
    • comment (String, optional, Standard: nicht gesetzt):
      Kommentar, der an die Schlüsselzeile angehängt wird (gewöhnlich user@host).
    • description (String, optional, Standard: nicht gesetzt):
      Menschlich lesbare Beschreibung, die als Kommentar über der Schlüsselzeile im authorized_keys-Datei platziert wird.
    • options (String, optional, Standard: nicht gesetzt):
      Schlüssel Optionen String, der der Schlüsselzeile vorangestellt wird.
  • users_adfinis (Liste, Standard: []):
    Zu erstellende Adfinis-Benutzerkonten. Jeder Benutzer wird der {{users_adfinis_group}} Systemgruppe hinzugefügt. Umgekehrt, jede vorhandene nicht-systematische Benutzer in dieser Gruppe, die in dieser Variablen nicht aufgeführt ist, wird gelöscht.
    Jedes Listenelement ist ein Objekt mit den folgenden Eigenschaften:

    • username (String, Pflicht):
      Benutzerkontoname.
    • authorized_keys (Liste, Standard: []):
      SSH-Öffentliche Schlüssel, die die Genehmigung zum Einloggen als root erhalten.
      Jedes Listenelement ist ein Objekt mit Eigenschaften wie in users_root_authorized_keys beschrieben.
  • users_adfinis_group (String, Standard: adfinis):
    Name der Systemgruppe, zu der alle Adfinis-Benutzerkonten hinzugefügt werden.

  • users_adfinis_ssh_pubkey_options (String, Standard: nicht gesetzt):
    Schlüssel Optionen String, der allen Schlüsselzeilen vorangestellt wird.

  • users_adfinis_homedir_mode (Dateiberechtigungsmodus, Standard: 0700):
    Dateiberechtigungsmodus für das Home-Verzeichnis jedes Adfinis-Benutzers.
    Hinweis: Aufgrund eines historischen Problems mit Jinja2 muss die oktale Darstellung des Modus entweder als String übergeben werden (um sicherzustellen, dass sie nicht falsch umgewandelt wird) oder [diese Ansible-Option][ansible:vars:default_jinja2_native] muss auf wahr gesetzt werden.

  • users_adfinis_unrestricted_sudo (Boolean, Standard: true):
    Ob die Adfinis-Benutzer uneingeschränkte sudo-Rechte erhalten oder nicht.

  • users_adfinis_user_remove_home (Boolean, Standard: false):
    Ob auch das Home-Verzeichnis gelöscht werden soll, wenn ein nicht aufgeführtes Adfinis-Konto gelöscht wird.

  • users_customer (Liste, Standard: []):
    Zu erstellende Kundenbenutzerkonten. Jeder Benutzer wird der {{users_customer_group}} Systemgruppe hinzugefügt.
    Jedes Listenelement ist ein Objekt mit Eigenschaften wie in users_adfinis beschrieben.

  • users_customer_homedir_mode (Dateiberechtigungsmodus, Standard: 0755):
    Dateiberechtigungsmodus für das Home-Verzeichnis jedes Kundenbenutzers.
    Der Standard hält es für alle lesbar, so dass Kunden sudo -u verwenden können, um Befehle als andere Benutzer auszuführen und weiterhin Dateien in ihrem Home-Verzeichnis weiterzugeben.
    Hinweis: Aufgrund eines historischen Problems mit Jinja2 muss die oktale Darstellung des Modus entweder als String übergeben werden (um sicherzustellen, dass sie nicht falsch umgewandelt wird) oder [diese Ansible-Option][ansible:vars:default_jinja2_native] muss auf wahr gesetzt werden.

  • users_customer_unrestricted_sudo (Boolean, Standard: false):
    Ob die Kundenbenutzer uneingeschränkte sudo-Rechte erhalten oder nicht.

  • users_default_user (String, Standard: adfinis):
    Name des anfänglichen vorhandenen Nicht-Root-Benutzerkontos im System, das gelöscht werden soll.

  • users_default_user_remove_home (Boolean, Standard: false):
    Ob auch das Home-Verzeichnis des anfänglichen vorhandenen Nicht-Root-Benutzerkontos gelöscht werden soll.

Rollenschlagworte

  • init: Dasselbe wie role::users:root und role::users:adfinis kombiniert.
  • role::users: Alle Aufgaben in dieser Rolle.
  • role::users:root: Alle Aufgaben, die das Root-Benutzerkonto einrichten.
  • role::users:adfinis: Alle Aufgaben, die die Adfinis-Benutzerkonten einrichten.
  • role::users:adfinis:create: Alle Aufgaben, die die Adfinis-Benutzerkonten einrichten (ohne sie zu löschen).
  • role::users:adfinis:delete: Alle Aufgaben, die überflüssige Adfinis-Benutzerkonten löschen.
  • role::users:customer: Alle Aufgaben, die Kundenbenutzerkonten einrichten.
  • role::users:default: Alle Aufgaben, die das Standardbenutzerkonto bereinigen.

Unterstützungspolitik

Nur die neueste Version wird gewartet und unterstützt (siehe die Tags-Seite).

Sobald eine neue Version veröffentlicht wird, erhält der vorherige Versionszweig keine Bugfixes mehr.

Über das Projekt

Set up root and user accounts

Installieren
ansible-galaxy install adfinis.users
GitHub Repository
Lizenz
Unknown
Downloads
176
Besitzer
Potential. Unlocked.