route1337.linux_users
Rôle Ansible - Utilisateurs Linux
Ce dépôt contient le rôle Ansible pour les utilisateurs Linux (linux_users).
Que fait ce rôle
Ce rôle Ansible va créer, mettre à jour et supprimer des utilisateurs Linux ainsi que leurs clés SSH en utilisant l'inventaire.
Modifications effectuées :
- Créer des groupes de gestion pour les utilisateurs
- Créer un groupe
sysadmins
pour les utilisateurs sudo sans mot de passe - Créer un groupe
sysusers
pour les utilisateurs non-sudo - Créer un groupe
svcaccounts
pour les comptes de service avec sudo sans mot de passe
- Créer un groupe
- Gérer l'utilisateur root
- Gérer le mot de passe et les clés SSH de root
- Gérer les utilisateurs non-root
- Créer, Mettre à jour, Supprimer des comptes utilisateurs
- Créer, Mettre à jour, Supprimer des répertoires personnels d'utilisateurs
- Gérer les clés SSH des utilisateurs
- Gérer l'appartenance aux groupes des utilisateurs (On s'attend à utiliser l'un des groupes ci-dessus)
Avertissements
Il y a quelques points à prendre en compte concernant ce rôle :
- Le mot de passe de root doit être pré-encrypté
- L'utilisation de plusieurs clés SSH peut se faire de deux manières à cause de
exclusive: yes
:- une seule chaîne avec des caractères de nouvelle ligne entre les clés
- Un lien vers une URL de clés GitHub
- Tous les utilisateurs non-root n'auront pas de mot de passe car sudo sera sans mot de passe et ils ne sont pas censés avoir de privilèges de connexion locale
- Les utilisateurs avec un répertoire personnel dans
/home/
qui ne sont pas définis danslinux_users.users
seront supprimés- Ce n'est pas la meilleure façon de gérer les utilisateurs non approuvés, et cela sera amélioré à l'avenir
Variables
Les variables suivantes sont requises :
linux_users.root_password
- Le mot de passe pré-encrypté pour root
Les variables suivantes sont optionnelles :
linux_users.root_key
- Les clés SSH utilisées par root. Si non définies, le fichier authorized_keys de root est supprimélinux_users.users
- Objets utilisateur avec les variables suivantes. Si non définis, les utilisateurs ne sont pas gérésusers: - username: pgibbons key: "ssh-rsa BLAH BLAH BLAH" comment: Peter Gibbons group: sysadmins - username: mbolton key: https://github.com/notthatmichaelbolton.keys comment: Michael Bolton group: sysusers - username: svc-ghactions key: ssh-rsa BLAH BLAH BLAH\nssh-rsa BLEH BLEH BLEH" comment: ServiceAccount-GitHub Actions group: svcaccounts
Les variables suivantes devraient être utilisées uniquement pour les tests :
is_kitchen
- Si cette variable est définie, le(s) rôle(s) danstests/roles
créent des utilisateurs d'exemple pour le test de suppression d'utilisateurs non approuvés. De plus, le jeu de tâchesuser_cleanup.yml
exempt l'utilisateurvagrant
de la suppression.
Tests
Ce rôle est entièrement testé via Test Kitchen à l'aide de données d'inventaire d'exemple contenues dans ce dépôt.
TESTING.md contient des détails et des instructions pour les tests.
Faites un don pour soutenir ce rôle Ansible
Le code open source de Route 1337 LLC dépend beaucoup des dons. Si vous trouvez ce rôle Ansible utile, merci de considérer l'utilisation du bouton GitHub Sponsors pour montrer votre soutien continu.
Merci pour votre soutien !
Extremely basic user account management for Ubuntu and CentOS servers
ansible-galaxy install route1337.linux_users