cchurch.admin-users
Admin-Benutzer
Verwalten Sie Admin-Benutzer, autorisierte Schlüssel und Sudo-Zugriff.
Die Unterstützung für Ansible-Versionen < 2.8 wurde ab Version 0.9.0 eingestellt.
Anforderungen
Das Paket sudo
wird installiert, wenn es nicht bereits vorhanden ist. Amazon Linux benötigt auch das Paket shadow-utils
, das vor dem Ausführen dieser Rolle installiert werden muss.
Rollen-Variablen
Die folgenden Variablen können definiert werden, um diese Rolle anzupassen:
admin_users
: Liste der zu erstellenden oder zu aktualisierenden Admin-Benutzer; Standard ist[]
. Jedes Element in dieser Liste sollte ein Hash mit den folgenden Schlüsseln sein:username
: Benutzername des Admin-Benutzers (erforderlich).fullname
: Vollständiger Name des Admin-Benutzers (optional).shell
: Standard-Shell für diesen Benutzer;admin_users_default_shell
wird verwendet, wenn dieser Schlüssel weggelassen wird.pubkey
: Der öffentliche Schlüssel, der dem angegebenen Benutzer zugeordnet werden soll. Dieser Wert kann ein String sein, der den Inhalt des öffentlichen Schlüssels des Benutzers enthält, ein String, der eine URL zu einer Liste von Schlüsseln enthält (z. B. https://github.com/benutzername.keys) oder eine Liste mehrerer Strings, die entweder den Inhalt des öffentlichen Schlüssels oder URLs enthalten. Die Unterstützung für Listen von Schlüsseln wurde in 0.7.0 hinzugefügt.pubkey_options
: Zusätzliche Optionen, die an das Modulauthorized_key
übergeben werden sollen (optional).exclusive
: Boolean, der angibt, ob alle anderen öffentlichen Schlüssel entfernt werden sollen (optional).
admin_user_groups
: Boolean, der angibt, ob Gruppen erstellt/entfernt werden sollen; Standard isttrue
.admin_users_sudo_nopasswd
: Boolean, der angibt, ob Sudo mit der OptionNOPASSWD
für Admin-Benutzer aktiviert werden soll; Standard isttrue
.admin_users_default_shell
: Standard-Shell für Admin-Benutzer; Standard ist"/bin/bash"
.admin_users_to_remove
: Liste von Benutzernamen, die vom Remote-System entfernt werden sollen; Standard ist[]
. Wennadmin_user_groups
true
ist, werden Gruppen mit diesen Benutzernamen ebenfalls entfernt.
Abhängigkeiten
Keine.
Beispiel-Playbook
Das folgende Playbook aktualisiert Admin-Benutzer auf Entwicklungs- und Produktionsservern mit unterschiedlichen Optionen:
- hosts: dev-servers
vars:
dev_admin_users:
- username: joe
fullname: "Joe Dev"
pubkey:
- "ssh-rsa ..."
- "ssh-dsa ..."
- username: jim
fullname: "Jim Dev"
shell: "/bin/sh"
pubkey: "https://github.com/jim.keys"
exclusive: true
roles:
- role: cchurch.admin-users
admin_users: dev_admin_users
- hosts: prod-servers
vars:
prod_admin_users:
- username: jon
fullname: "Jon Admin"
pubkey: "ssh-rsa ..."
roles:
- role: cchurch.admin-users
admin_users: prod_admin_users
admin_users_sudo_nopasswd: false
Lizenz
BSD
Autoreninformationen
Chris Church (cchurch)
ansible-galaxy install cchurch.admin-users