singleplatform-eng.users
ansible-users
Rolle zur Verwaltung von Benutzern auf einem System.
Rollen-Konfiguration
- users_create_per_user_group (Standard: true) - Wenn Benutzer erstellt werden, wird auch eine Gruppe mit dem gleichen Benutzernamen erstellt und als primäre Gruppe des Benutzers festgelegt.
- users_group (Standard: users) - Wenn users_create_per_user_group nicht festgelegt ist, wird dies die primäre Gruppe für alle erstellten Benutzer sein.
- users_default_shell (Standard: /bin/bash) - die Standard-Shell, wenn keine für den Benutzer angegeben ist.
- users_create_homedirs (Standard: true) - Erstelle Home-Verzeichnisse für neue Benutzer. Setze dies auf false, wenn du die Home-Verzeichnisse separat verwaltet.
- authorized_keys_file (Standard: .ssh/authorized_keys) - Setze dies, wenn der SSH-Server so konfiguriert ist, dass er eine nicht standardmäßige Autorisierungsschlüssel-Datei verwendet.
Benutzer erstellen
Füge eine Benutzer-Variable hinzu, die die Liste der hinzuzufügenden Benutzer enthält. Ein guter Platz hierfür ist group_vars/all
oder group_vars/gruppenname
, wenn du nur möchtest, 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 Benutzers, das erstellt werden soll (optional, Standard: /home/benutzername).
- uid - Die numerische Benutzer-ID für den Benutzer (optional). Dies ist erforderlich, um die UID-Konsistenz über Systeme hinweg zu gewährleisten.
- gid - Die numerische Gruppen-ID für die 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 das Passwort, wenn es unterschiedlich ist. (Standard)
- 'on_create' setzt das Passwort nur für neu erstellte Benutzer.
- group - Überschreibung der optionalen 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 Textblock zum Einrichten 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 enthalten sein und keine Zeilenumbrüche haben.
- generate_ssh_key - Ob ein SSH-Schlüssel für den Benutzer generiert werden soll (optional, Standard: nein).
Darüber hinaus sind die folgenden Punkte für jeden Benutzer optional:
- shell - Die Shell des Benutzers. Dies ist standardmäßig /bin/bash. Der Standardwert kann über die Variable users_default_shell konfiguriert werden, wenn du allen Benutzern die gleiche Shell geben möchtest, aber es ist etwas anderes 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@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 hinzuzufügende Benutzer, aber das einzige erforderliche Feld ist username
. Es wird jedoch empfohlen, das Feld uid
zur Referenz beizubehalten, damit numerische Benutzer-IDs nicht versehentlich wiederverwendet werden.
Du kannst optional wählen, das Home-Verzeichnis des Benutzers und das Mail-Spool mit dem Parameter remove
zu entfernen und die Entfernung von Dateien mit dem Parameter force
zu erzwingen.
users_deleted:
- username: bar
uid: 1002
remove: yes
force: yes
ansible-galaxy install singleplatform-eng.users