adfinis-sygroup.users
Benutzer
Diese Rolle richtet Kunden- und Adfinis-Benutzerkonten ein.
Anforderungen
Diese Rolle geht davon aus, dass ein anfänglicher Nicht-Root-Benutzer mit Sudo-Rechten auf dem System vorhanden ist ({{users_default_user}}
, siehe Rollenvariablen unten).
Dieser Benutzer wird für die Einrichtung der Benutzerkonten verwendet und anschließend gelöscht. Die Löschung erfolgt in der letzten Aufgabe dieser Rolle (ein erster Durchlauf funktioniert gut, aber wenn sie wiederholt wird, schlägt der Login fehl).
In einem Playbook (oder einer Reihe von Playbooks) wird daher empfohlen, diese Rolle in zwei Varianten anzuwenden:
Beim ersten Mal mit
remote_user: {{users_default_user}}
anwenden.Danach mit dem vorgesehenen Benutzer anwenden (entweder das persönliche Konto oder
root
, wenn dies erlaubt ist).
Es wird empfohlen, ein Playbook/einen Play für die anfängliche Einrichtung und ein Playbook/einen Play für das fortlaufende Management zu verwenden.
Rollenabhängigkeiten
(keine)
Rollenvariablen
Pflicht
users_root_password_salt
(string, Standard: nicht gesetzt):
Salt für die Hashung des Root-Passworts.
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 es sich um ein gehashtes Passwort handelt (wie es von [ansible.builtin.password_hash
][ansible:filter:password_hash] erzeugt wird).users_root_password_is_hashed
(boolean, Standard:false
):
Wenn auftrue
gesetzt, wird angenommen, dassusers_root_password
bereits gehasht ist (in diesem Fall istusers_root_password_salt
nicht erforderlich).users_root_authorized_keys
(Liste, Standard:[]
):
SSH-öffentliche Schlüssel, die die Berechtigung zum Einloggen alsroot
erhalten.
Jedes Listenelement ist ein Objekt mit den folgenden Eigenschaften:key
(string, verpflichtend):
Der Schlüssel selbst.comment
(string, optional, Standard: nicht gesetzt):
Kommentar, der an die Schlüsselzeile angehängt wird (normalerweiseuser@host
).description
(string, optional, Standard: nicht gesetzt):
Menschlich lesbare Beschreibung, die als Kommentar über der Schlüsselzeile in dieauthorized_keys
-Datei eingegeben wird.options
(string, optional, Standard: nicht gesetzt):
Zeilen mit Schlüsseloptionen, die der Schlüsselzeile vorangestellt werden.
users_adfinis
(Liste, Standard:[]
):
Adfinis-Benutzerkonten, die eingerichtet werden sollen. Jeder Benutzer wird der Systemgruppe{{users_adfinis_group}}
hinzugefügt. Umgekehrt werden alle bestehenden Nicht-Systembenutzer in dieser Gruppe, die nicht in dieser Variablen aufgeführt sind, gelöscht.
Jedes Listenelement ist ein Objekt mit den folgenden Eigenschaften:username
(string, verpflichtend):
Benutzerkontoname.authorized_keys
(Liste, Standard:[]
):
SSH-öffentliche Schlüssel, die die Berechtigung 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):
String mit Schlüsseloptionen, 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 true gesetzt werden.users_adfinis_unrestricted_sudo
(boolean, Standard:true
):
Ob die Adfinis-Benutzer uneingeschränktesudo
-Berechtigungen erhalten.users_adfinis_user_remove_home
(boolean, Standard:false
):
Ob das Home-Verzeichnis ebenfalls gelöscht werden soll, wenn ein nicht aufgeführtes Adfinis-Konto gelöscht wird.users_customer
(Liste, Standard:[]
):
Kundenbenutzerkonten, die eingerichtet werden sollen. Jeder Benutzer wird der Systemgruppe{{users_customer_group}}
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 Standardwert bleibt für die Öffentlichkeit lesbar, sodass Kundensudo -u
verwenden können, um Befehle als andere Benutzer auszuführen und weiterhin Dateien in ihrem Home-Verzeichnis übergeben können.
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 true gesetzt werden.users_customer_unrestricted_sudo
(boolean, Standard:false
):
Ob die Kundenbenutzer uneingeschränktesudo
-Berechtigungen erhalten.users_default_user
(string, Standard:adfinis
):
Name des anfänglich vorhandenen Nicht-Root-Benutzerkontos im System, das gelöscht werden soll.users_default_user_remove_home
(boolean, Standard:false
):
Ob das Home-Verzeichnis des anfänglich vorhandenen Nicht-Root-Benutzerkontos ebenfalls gelöscht werden soll.
Rollen-Tags
init
: Entspricht der Kombination vonrole::users:root
undrole::users:adfinis
.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 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 Versionsbranch keine Fehlerbehebungen mehr.
Create and remove posix users and groups, add or remove ssh keys
ansible-galaxy install adfinis-sygroup.users