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:
Das erste Mal mit
remote_user: {{users_default_user}}
anwenden.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, wennusers_root_password
gesetzt ist undusers_root_password_is_hashed
falsch ist.users_customer_group
(String):
Name der Systemgruppe, zu der alle Kundenbenutzerkonten hinzugefügt werden.
Hinweis: Nur erforderlich, wennusers_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 undusers_root_password_is_hashed
falsch ist, ist dies das Passwort im Klartext, undusers_root_password_salt
muss ebenfalls gesetzt sein.
Wenn dies gesetzt ist undusers_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 auftrue
gesetzt, wird angenommen, dassusers_root_password
bereits gehasht wurde (in diesem Fall istusers_root_password_salt
nicht erforderlich).users_root_authorized_keys
(Liste, Standard:[]
):
SSH-Öffentliche Schlüssel, die die Genehmigung zum Einloggen alsroot
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öhnlichuser@host
).description
(String, optional, Standard: nicht gesetzt):
Menschlich lesbare Beschreibung, die als Kommentar über der Schlüsselzeile imauthorized_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 alsroot
erhalten.
Jedes Listenelement ist ein Objekt mit Eigenschaften wie inusers_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änktesudo
-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 inusers_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 Kundensudo -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änktesudo
-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 wierole::users:root
undrole::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.
ansible-galaxy install adfinis.users