monolithprojects.user_management
Benutzerverwaltung
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
Linux users and ssh keys management
ansible-galaxy install monolithprojects.user_management