GROG.user
Benutzer
Eine Rolle zur Verwaltung von Benutzern.
Folgende Rollen wurden entwickelt, um gut mit dieser Rolle zusammenzuarbeiten:
- authorized-key, zur Verwaltung von autorisierten Schlüsseln.
- sudo, zur Verwaltung von Sudo-Rechten.
Die Rolle management-user kombiniert all diese Rollen in einer einfach zu verwendenden Rolle.
Anforderungen
- Hosts sollten für die Benutzung mit Ansible vorbereitet sein (Python usw. installiert)
- Root-Rechte, z.B.
become: yes
useradd
,userdel
undusermod
sollten auf dem Host verfügbar sein
Rollenvariablen
Variable | Beschreibung | Standardwert |
---|---|---|
user_list |
Liste der Benutzer (siehe Details!) | [] |
user_list_host |
Liste der Benutzer (siehe Details!) | [] |
user_list_group |
Liste der Benutzer (siehe Details!) | [] |
user_append |
Standardwert für append |
nein |
user_createhome |
Standardwert für createhome |
ja |
user_force |
Standardwert für force |
nein |
user_generate_ssh_key |
Standardwert für generate_ssh_key |
nein |
user_move_home |
Standardwert für move_home |
nein |
user_none_unique |
Standardwert für none_unique |
nein |
user_remove |
Standardwert für remove |
nein |
user_shell |
Standardwert für shell |
'/bin/sh' |
user_ssh_key_bits |
Standardwert für ssh_key_bits |
4096 |
user_ssh_key_file |
Standardwert für ssh_key_file |
'.ssh/id_rsa' |
user_system |
Standardwert für system |
nein |
user_update_password |
Standardwert für update_password |
immer |
Details zu user_list
user_list
, user_list_host
und user_list_group
werden beim Verwalten der Benutzer zusammengeführt. Sie können die Host- und Gruppenlisten verwenden, um Benutzer pro Host oder Gruppe von Hosts anzugeben.
Die Benutzerliste ermöglicht es Ihnen, festzulegen, welche Benutzer verwaltet werden müssen. Jeder Eintrag in der Liste kann folgende Attribute haben:
Variable | Beschreibung | Erforderlich | Standard |
---|---|---|---|
append |
Nur zu Gruppen hinzufügen? | nein | user_append |
comment |
Benutzerdaten (auch GECOS genannt) | nein | / |
createhome |
Heimatverzeichnis erstellen? | nein | user_createhome |
expires |
Ablaufdatum | nein | / |
force |
--force-Option beim Löschen eines Benutzers verwenden | nein | user_force |
generate_ssh_key |
SSH-Schlüssel generieren? | nein | user_generate_ssh_key |
group |
Primäre Gruppe des Benutzers | nein | / |
groups |
Liste von Gruppen für den Benutzer | nein | / |
home |
Heimatverzeichnis für den Benutzer | nein | / |
login_class |
Anmeldeklasse für BSD-Systeme | nein | / |
move_home |
Heimatverzeichnis verschieben | nein | user_move_home |
name |
Benutzername | ja | / |
non_unique |
Eindeutige UID zulassen | nein | user_none_unique |
password |
Passwort für den Benutzer | nein | / |
remove |
--remove-Option beim Löschen eines Benutzers verwenden | nein | user_remove |
shell |
Benutzershell | nein | user_shell |
ssh_key_bits |
Größe des SSH-Schlüssels | nein | user_ssh_key_bits |
ssh_key_comment |
Kommentar zum SSH-Schlüssel | nein | / |
ssh_key_file |
SSH-Schlüsseldatei | nein | user_ssh_key_file |
ssh_key_passphrase |
Passphrase für den SSH-Schlüssel | nein | / |
ssh_key_type |
Typ des SSH-Schlüssels | nein | rsa |
state |
Benutzerstatus | nein | 'present' |
system |
Systemkonto? | nein | user_system |
uid |
Benutzer-ID | nein | / |
update_password |
Passwort aktualisieren, wenn geändert? | nein | user_update_password |
Beispiel user_list
user_list:
- name: user1
- name: user2
uid: 1001
groups:
- test
- sudo
- name: user3
uid: 1002
state: absent
Abhängigkeiten
Keine.
Beispiel-Playbook
---
- hosts: servers
roles:
- { role: GROG.user, become: yes }
In group_vars/servers.yml
:
user_list_group:
- name: user
uid: 1001
- name: test
state: absent
Mitwirken
Alle Hilfe, Änderungen oder Ideen sind willkommen!
Autor
Von G. Roggemans
Lizenz
MIT