chasinglogic.ansible_users
ansible-users
Rolle zur Verwaltung von Benutzern auf einem System.
Dies ist ein Fork von singleplatform-eng.users, da es scheint, dass dieses nicht mehr gewartet wird.
Rollen-Konfiguration
users_create_per_user_group
(Standard: true) - Beim Erstellen von Benutzern wird auch eine Gruppe mit demselben Benutzernamen erstellt, die dann die Hauptgruppe des Benutzers ist.users_group
(Standard: users) - Fallsusers_create_per_user_group
nicht gesetzt ist, ist dies die Hauptgruppe für alle erstellten Benutzer.users_default_shell
(Standard: /bin/bash) - die Standard-Shell, wenn keine für den Benutzer angegeben ist.users_create_homedirs
(Standard: true) - Erstellt Home-Verzeichnisse für neue Benutzer. Setzen Sie dies auf false, wenn Sie Home-Verzeichnisse separat verwalten.authorized_keys_file
(Standard: .ssh/authorized_keys) - Setzen Sie dies, wenn der SSH-Server konfiguriert ist, um eine nicht standardmäßige Datei für autorisierte Schlüssel zu verwenden.
Benutzer erstellen
Fügen Sie eine Benutzer-Variable hinzu, die die Liste der hinzuzufügenden Benutzer enthält. Ein guter Platz dafür ist group_vars/all
oder group_vars/groupname
, wenn Sie die Benutzer nur auf bestimmten Maschinen haben möchten.
Die folgenden Attribute sind für jeden Benutzer erforderlich:
username
- Der Benutzername des Benutzers.name
- Der vollständige Name des Benutzers (gecos-Feld).home
- Das Home-Verzeichnis des Benutzers, das erstellt werden soll (optional, Standard ist /home/benutzername).uid
- Die numerische Benutzer-ID für den Benutzer (optional). Dies ist erforderlich für die UID-Konsistenz zwischen den Systemen.gid
- Die numerische Gruppen-ID für die Gruppe (optional). Andernfalls wird dieuid
verwendet.password
- Wenn ein Hash bereitgestellt wird, wird dieser verwendet; andernfalls wird das Konto gesperrt.update_password
- Dies kann entweder 'always' oder 'on_create' sein.- 'always' aktualisiert die Passwörter, wenn sie unterschiedlich sind. (Standard)
- 'on_create' setzt das Passwort nur für neu erstellte Benutzer.
group
- Optionale Überschreibung der Hauptgruppe.groups
- Eine Liste zusätzlicher Gruppen für den Benutzer.append
- Wenn ja, werden nur Gruppen hinzugefügt, nicht auf die Liste in groups gesetzt (optional).profile
- Ein String-Block zur Einstellung benutzerdefinierter Shell-Profile.ssh_key
- Dies sollte eine Liste von SSH-Schlüsseln für den Benutzer sein (optional). Jeder SSH-Schlüssel sollte direkt inkludiert werden und keine Zeilenumbrüche enthalten.generate_ssh_key
- Ob ein SSH-Schlüssel für den Benutzer generiert werden soll (optional, Standard ist nein).
Zusätzlich sind die folgenden Punkte optional für jeden Benutzer:
shell
- Die Shell des Benutzers. Standard ist /bin/bash. Der Standardwert kann über die Variable users_default_shell konfiguriert werden, wenn alle Benutzer die gleiche Shell haben sollen, aber es ist anders als /bin/bash.
Beispiel:
---
users:
- username: foo
name: Foo Barrington
groups: ['wheel','systemd-journal']
uid: 1001
home: /local/home/foo
profile: |
alias ll='ls -lah'
ssh_key:
- "ssh-rsa AAAAA.... foo@maschine"
- "ssh-rsa AAAAB.... foo2@maschine"
groups_to_create:
- name: entwickler
gid: 10000
users_deleted:
- username: bar
name: Bar User
uid: 1002
Benutzer löschen
Die Variable users_deleted
enthält eine Liste von Benutzern, die nicht mehr im System
sein sollen, und diese werden beim nächsten Ansible-Durchlauf entfernt. Das Format
ist dasselbe wie für hinzuzufügende Benutzer, aber das einzige erforderliche Feld ist username
.
Es wird jedoch empfohlen, das uid
-Feld zur Referenz beizubehalten, damit numerische Benutzer-IDs nicht versehentlich wiederverwendet werden.
Sie können optional wählen, das Home-Verzeichnis des Benutzers und die Mail-Spool mit
dem remove
-Parameter zu löschen und die Entfernung von Dateien mit dem force
-Parameter zu erzwingen.
users_deleted:
- username: bar
uid: 1002
remove: yes
force: yes
ansible-galaxy install chasinglogic.ansible_users