singleplatform-eng.users

Build Status

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

User creation role

Installieren
ansible-galaxy install singleplatform-eng.users
Lizenz
mit
Downloads
8.5M
Besitzer
Open source code from the SinglePlatform Engineering team.