monolithprojects.user_management

Benutzerverwaltung

Letzte Version Galaxy-Qualität Galaxy-Downloads GitHub-Aktionen

Diese Ansible-Rolle dient zur Verwaltung (Erstellen, Bearbeiten, Löschen) von Linux-Benutzern. Die Verwaltung umfasst auch die Verteilung der SSH-Schlüssel.

Funktionsweise

Diese Rolle verwendet lokale Fakten auf jedem Host, um die Benutzernamen zu speichern, die in user_management aufgeführt sind. Nur diese Benutzer werden von dieser Rolle verwaltet. Wenn Sie einen Benutzer aus der Liste user_management entfernen, wird der Benutzer und das Home-Verzeichnis vom Host gelöscht. Die Benutzer, die nicht in der Liste user_management aufgeführt sind (Benutzer, die nicht von dieser Ansible-Rolle erstellt wurden), bleiben unangetastet.

Diese Rolle kann

  • Benutzer erstellen
  • Benutzer löschen
  • Benutzer bearbeiten
  • SSH-Schlüssel verwalten

Anforderungen

  • Unterstützte Linux-Distributionen:

    • CentOS/RHEL 7,8
    • Debian 9,10
    • Fedora 29,30,31,32
    • Ubuntu 16,18,20

    Hinweis: Dies sind die wöchentlich getesteten Linux-Distributionen. Die Rolle wird höchstwahrscheinlich auch auf anderen Linux-Distributionen gut funktionieren.

Rollenvariablen

Dies ist eine Kopie von defaults/main.yml

local_facts_file: linux_users.fact
local_facts_path: /etc/ansible/facts.d
user_management:
#   - name: userx                       <<< Benutzername (erforderlich).
#     comment: Benutzer X                <<< (Optional) Benutzerbeschreibung.
#     groups:                           <<< (Optional) Liste der Gruppen, denen der Benutzer hinzugefügt wird.
#       - games
#       - video
#     ssh_keys:                         <<< (Optional) Liste der autorisierten öffentlichen Schlüssel.
#       - 'ssh-ed25519 xxxx etwas'
#     shell: /bin/bash                  <<< (Optional) Benutzershell (Standardwert "/bin/bash")
#     expires: -1                       <<< (Optional) Ablaufdatum des Benutzers im Epoch-Format (Standardwert "-1").
#     create_home: yes                  <<< (Optional) Erstelle ein Home-Verzeichnis (Standardwert "ja").
#     system: no                        <<< (Optional) Erstelle ein Systemkonto (Standardwert "nein").

Playbook-Beispiel:

In diesem Beispiel wird Ansible 3 Benutzer erstellen (oder gegebenenfalls bearbeiten - wenn dies nicht der erste Lauf ist). user1 mit Kommentar, zsh als Standardshell, der Benutzer wird im 1640991600 Unix-Epochenformat ablaufen, der Benutzer wird den Benutzergruppen sudo und docker hinzugefügt, und schließlich werden zwei öffentliche SSH-Schlüssel hinzugefügt. user2 wird mit den Standardeinstellungen erstellt. appuser wird als Systembenutzer angelegt.

---
- name: Benutzerverwaltung
  hosts: alle
  user: ubuntu
  gather_facts: ja
  become: ja
  vars:
  
    user_management:
      - name: user1
        comment: Mein Testbenutzer
        shell: /bin/zsh
        expires: 1640991600
        groups:
          - sudo
          - docker
        ssh_keys:
          - 'ssh-ed25519 xxxxxx mein_benutzer_schluessel'
          - 'ssh-rsa xxxxxx mein_benutzer_schluessel'

      - name: user2

      - name: appuser
        system: ja
        create_home: nein

  roles:
      - ansible-user_management

Lizenz

MIT

Autoreninformationen

Erstellt 2020 von Michal Muransky

Über das Projekt

Linux users and ssh keys management

Installieren
ansible-galaxy install monolithprojects.user_management
GitHub Repository
Lizenz
Unknown
Downloads
61k
Besitzer
Full-time Cloud Engineer, part-time adventurer