pcanham.users
ansible-users
Rolle zur Verwaltung von Benutzern auf einem System.
Rollenkonfiguration
- users_create_per_user_group (Standard: true) - Beim Erstellen von Benutzern wird auch eine Gruppe mit demselben Benutzernamen erstellt und als primäre Gruppe des Benutzers festgelegt.
- users_group (Standard: users) - Wenn users_create_per_user_group nicht gesetzt ist, ist dies die primäre Gruppe 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) - Erstellen von Home-Verzeichnissen für neue Benutzer. Setzen Sie dies auf false, wenn Sie Home-Verzeichnisse separat verwalten.
- users_ssh_key_exclusive (Standard: false) - Ob alle anderen nicht angegebenen Schlüssel aus der Datei authorized_keys entfernt werden sollen.
- authorized_keys_file (Standard: .ssh/authorized_keys) - Setzen Sie dies, wenn der SSH-Server so konfiguriert ist, dass er eine nicht standardmäßige Datei für autorisierte Schlüssel verwendet.
Benutzer erstellen
Fügen Sie eine Benutzer-Variable hinzu, die die Liste der hinzuzufügenden Benutzer enthält. Ein guter Ort dafür ist group_vars/all
oder group_vars/groupname
, wenn Sie nur möchten, dass die Benutzer auf bestimmten Maschinen sind.
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 zu erstellenden Benutzers (optional, Standard ist /home/username).
- uid - Die numerische Benutzer-ID des Benutzers (optional). Dies ist erforderlich für die UID-Konsistenz über Systeme hinweg.
- gid - Die numerische Gruppen-ID der Gruppe (optional). Andernfalls wird die UID verwendet.
- password - Wenn ein Hash bereitgestellt wird, wird dieser verwendet, andernfalls ist das Konto gesperrt.
- update_password - Dies kann entweder 'always' oder 'on_create' sein:
- 'always' aktualisiert Passwörter, wenn sie unterschiedlich sind. (Standard)
- 'on_create' setzt das Passwort nur für neu erstellte Benutzer.
- group - Optionale Überschreibung der primären Gruppe.
- groups - Eine Liste von zusätzlichen Gruppen für den Benutzer.
- append - Wenn ja, werden nur Gruppen hinzugefügt, nicht auf die Liste in groups gesetzt (optional).
- profile - Ein Stringblock zum Setzen 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 eingegeben 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).
Darüber hinaus sind die folgenden Elemente für jeden Benutzer optional:
- shell - Die Shell des Benutzers. Der Standard ist /bin/bash. Der Standardwert kann unter Verwendung der Variable users_default_shell konfiguriert werden, wenn Sie allen Benutzern dieselbe Shell geben möchten, aber sie von /bin/bash abweicht.
- ssh_key_exclusive - Ob alle anderen nicht angegebenen Schlüssel aus der Datei authorized_keys entfernt werden sollen (Standardwert: users_ssh_key_exclusive).
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@machine"
- "ssh-rsa AAAAB.... foo2@machine"
groups_to_create:
- name: developers
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 die hinzuzufügenden Benutzer, wobei das einzige erforderliche Feld username
ist. Es wird jedoch empfohlen, auch das Feld uid
zur Referenz beizubehalten, damit numerische Benutzer-IDs nicht versehentlich wiederverwendet werden.
Sie können optional wählen, ob das Home-Verzeichnis und das Mail-Spool des Benutzers mit dem Parameter remove
entfernt werden sollen, und die Entfernung von Dateien mit dem Parameter force
erzwingen.
users_deleted:
- username: bar
uid: 1002
remove: yes
force: yes
ansible-galaxy install pcanham.users