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) - Falls- users_create_per_user_groupnicht 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 die- uidverwendet.
- 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