AsavarTzeth.users
Ansible Benutzerrolle - ansible-role-users
Ansible-Rolle zur Verwaltung von Benutzern, Gruppen, SSH autorisierten Schlüsseln und Sudo.
Das Konfigurationsformat dieser Rolle ist stark inspiriert von dem Format, das mit cloud-init/cloud config verwendet wird. Das Ziel ist es, die gleiche oder eine ähnliche YAML-Struktur zu verwenden, wo immer möglich, sie gegebenenfalls jedoch dort zu erweitern, wo es sinnvoll ist.
Einige kleine bemerkenswerte Unterschiede:
- Alle Bindestriche mussten durch Unterstriche ersetzt werden; aufgrund der Art, wie Ansible Variablennamen interpretiert.
Für weitere Informationen zu cloud-init siehe die cloud-init-Dokumentation unter:
https://cloudinit.readthedocs.io/en/latest/index.html
Anforderungen
Diese Rolle wurde auf Ansible 2.2.0 und höher entwickelt und getestet. Sie könnte auch in niedrigeren Versionen funktionieren, wird jedoch derzeit nicht unterstützt.
Rollenvariablen
Liste der Variablen und Standardwerte:
# Die Standardbenutzershell, die bei der Benutzererstellung verwendet wird.
users_default_shell: /bin/bash
# Legt fest, ob die Rolle eine Primärgruppe erstellen soll, falls diese nicht existiert.
# Um zu verhindern, dass die Rolle fehlschlägt, ist dies standardmäßig auf true gesetzt.
# Deaktivieren Sie dies, wenn Gruppen anderswo verwaltet werden.
users_create_primary_group: true
# Ermöglicht die Verwaltung der Berechtigungserhöhung über sudo.
# Deaktivieren Sie dies, wenn sudo nicht verwendet wird oder anderswo verwaltet wird.
users_enable_sudo: true
# Der einzige obligatorische Parameter ist der Name.
users:
- name: '' # Der Benutzername des Benutzers.
gecos: '' # Das Kommentarfeld, auch bekannt und verwendet für den echten Namen des Benutzers.
homedir: '' # Das Home-Verzeichnis des Benutzers.
primary_group: '' # Die primäre Benutzergruppe.
groups: [] # Eine Liste von zusätzlichen Gruppen für den Benutzer.
no_create_home: false # Wenn true, wird kein Home-Verzeichnis erstellt. Standardmäßig true, wenn `system: true`.
shell: "{{ users_default_shell }}" # Die Standardbenutzershell.
passwd: '' # Ein SHA512 gehashter und gesalzener Passwort.
ssh_authorized_keys: [] # Eine Liste von SSH-öffentlichen Schlüsseln, die zur autorisierten_keys Datei hinzugefügt werden sollen.
sudo: '' # Der Sudo-String, der zur Konfiguration von Sudo verwendet wird.
system: false # Wenn true, ist der Benutzer ein Systembenutzer. Dies hat keinen Einfluss auf vorhandene Benutzer.
Abhängigkeiten
Keine
Beispiel-Playbook
Einen Benutzer hinzufügen oder ändern und Sudo sowie SSH autorisierte Schlüssel einrichten:
- hosts: all
roles:
- role: AsavarTzeth.users
users_default_shell: /bin/bash
users_create_primary_group: true
users_enable_sudo: true
users:
- name: foobar1
gecos: Foo B. Bar
primary_group: foobar1
groups: ['users','wheel']
shell: /bin/bash
ssh_authorized_keys:
- "ssh-rsa AAAAA.... foo@host"
- "ssh-rsa AAAAB.... bar@host"
sudo: ALL=(ALL) ALL
Einen Systembenutzer hinzufügen oder ändern:
- hosts: all
roles:
- role: AsavarTzeth.users
users:
- name: foobar2
gecos: FooBar Service Account
homedir: /
primary_group: foobar
shell: /sbin/nologin
system: true
Benutzer löschen:
- hosts: all
roles:
- role: AsavarTzeth.users
users_deleted:
- name: foobar1
- name: foobar2
Ein Benutzerpasswort ändern:
- hosts: all
roles:
- role: AsavarTzeth.users
users:
- name: foobar1
passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/
Lizenz
BSD-2-Klausel
Autoreninformationen
Patrik Nilsson
ansible-galaxy install AsavarTzeth.users