webofmars.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 diese wird zur primären Gruppe des Benutzers gemacht.
  • 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) - Erstellt Home-Verzeichnisse für neue Benutzer. Setzen Sie dies auf false, wenn Sie Home-Verzeichnisse separat verwalten.

Erstellen von Benutzern

Fügen Sie eine Variable "users" hinzu, die die Liste der hinzuzufügenden Benutzer enthält. Ein guter Ort, diese zu platzieren, ist in group_vars/all oder group_vars/groupname, wenn Sie möchten, dass die Benutzer nur 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 ist /home/username)
  • uid - Die numerische Benutzer-ID für den Benutzer. Dies ist erforderlich für die Konsistenz der UIDs 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 Passwörter, wenn sie unterschiedlich sind. (Standard)
    • 'on_create' setzt das Passwort nur für neu erstellte Benutzer.
  • group - optionale Übersteuerung der primären Gruppe
  • groups - eine Liste von zusätzlichen Gruppen für den Benutzer.
  • profile - ein String-Block zum Festlegen von benutzerdefinierten Shell-Profilen
  • ssh_authorized_keys - Dies sollte eine Liste von SSH-Schlüsseln für den Benutzer sein. Jeder SSH-Schlüssel sollte direkt enthalten sein und keine Zeilenumbrüche haben.

Darüber hinaus sind die folgenden Punkte für jeden Benutzer optional:

  • generate_ssh_key - Ob ein SSH-Schlüssel für den Benutzer generiert werden soll (optional, Standard ist nein).

  • ssh_priv_key - privater SSH-Schlüssel des Benutzers (RSA-Format)

  • shell - Die Shell des Benutzers. Standardmäßig ist dies /bin/bash. Der Standardwert kann über die Variable users_default_shell konfiguriert werden, wenn Sie allen Benutzern die gleiche Shell zuweisen möchten, 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_authorized_keys:
      - "ssh-rsa AAAAA.... foo@maschine"
      - "ssh-rsa AAAAB.... foo2@maschine"
    ssh_priv_key: |
      -----BEGIN RSA PRIVATE KEY-----
      Schlüsselinhalt <...>
      -----END RSA PRIVATE KEY-----
groups_to_create:
  - name: developers
    gid: 10000
users_deleted:
  - username: bar
    name: Bar Benutzer
    uid: 1002

Benutzer löschen

Die Variable users_deleted enthält eine Liste von Benutzern, die nicht mehr im System sein sollten, und diese werden beim nächsten Ansible-Lauf entfernt. Das Format ist das gleiche wie für hinzuzufügende Benutzer, aber das einzige erforderliche Feld ist username. Es wird jedoch empfohlen, auch das Feld uid zur Referenz beizubehalten, damit numerische Benutzer-IDs nicht versehentlich wiederverwendet werden.

Über das Projekt

provision users and groups on linux servers

Installieren
ansible-galaxy install webofmars.users
GitHub Repository
Lizenz
mit
Downloads
298
Besitzer
webofmars is a devops & IT company based in Marseille, France