chasinglogic.ansible_users

Build-Status

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_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 die uid 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
Über das Projekt

User creation role

Installieren
ansible-galaxy install chasinglogic.ansible_users
GitHub Repository
Lizenz
mit
Downloads
214
Besitzer
Linux and FOSS Enthusiast.