adfinis-sygroup.users
utilisateurs
Ce rôle configure les comptes d'utilisateur pour les clients et Adfinis.
Exigences
Ce rôle suppose qu'il y a un utilisateur non-root initial avec des permissions sudo
présent sur le système ({{users_default_user}}
, voir Variables du Rôle ci-dessous).
Cet utilisateur est utilisé pour la configuration initiale des comptes utilisateurs, puis est supprimé. La suppression a lieu dans la dernière tâche de ce rôle (donc un premier exécution fonctionnera bien, mais si elle est répétée, la connexion échouera).
Dans un playbook (ou une série de playbooks), il est donc recommandé d'appliquer ce rôle en deux variantes :
La première fois, appliquer avec
remote_user: {{users_default_user}}
.Ensuite, appliquer avec l'utilisateur prévu (soit le compte personnel, soit
root
, si autorisé).
Il est recommandé de garder un playbook pour la configuration initiale et un playbook pour la gestion continue.
Dépendances du Rôle
(aucune)
Variables du Rôle
Obligatoires
users_root_password_salt
(chaîne, par défaut : non défini):
Sel à utiliser pour le hachage du mot de passe root.
Remarque : Nécessaire uniquement siusers_root_password
est défini etusers_root_password_is_hashed
est faux.users_customer_group
(chaîne):
Nom du groupe système auquel tous les comptes utilisateurs clients sont ajoutés.
Remarque : Nécessaire uniquement siusers_customer
n'est pas vide.
Optionnelles
users_root_password
(chaîne, par défaut : non défini):
Si cela n'est pas défini, le mot de passe root n'est pas modifié.
Si cela est défini et queusers_root_password_is_hashed
est faux, il s'agit du mot de passe en texte clair, etusers_root_password_salt
doit également être défini.
Si cela est défini et queusers_root_password_is_hashed
est vrai, il est supposé qu'il s'agit d'un mot de passe haché (tel que produit paransible.builtin.password_hash
).users_root_password_is_hashed
(booléen, par défaut :false
):
S'il est défini surtrue
,users_root_password
est supposé avoir déjà été haché (dans ce cas,users_root_password_salt
n'est pas requis).users_root_authorized_keys
(liste, par défaut :[]
):
Clés publiques SSH qui seront autorisées à se connecter en tant queroot
.
Chaque élément de la liste est un objet avec les propriétés suivantes :key
(chaîne, obligatoire):
Les données de la clé elles-mêmes.comment
(chaîne, optionnelle, par défaut : non défini):
Commentaire, ajouté à la ligne de clé (généralementutilisateur@hôte
).description
(chaîne, optionnelle, par défaut : non défini):
Description lisible par un humain à placer en tant que commentaire dans le fichierauthorized_keys
au-dessus de la ligne de clé.options
(chaîne, optionnelle, par défaut : non défini):
Chaine d'options de clé à préfixer à la ligne de clé.
users_adfinis
(liste, par défaut :[]
):
Comptes d'utilisateurs Adfinis à configurer. Chaque utilisateur sera ajouté au groupe système{{users_adfinis_group}}
. Inversement, chaque utilisateur non-système existant dans ce groupe qui n'est pas listé dans cette variable sera supprimé.
Chaque élément de la liste est un objet avec les propriétés suivantes :username
(chaîne, obligatoire):
Nom du compte utilisateur.authorized_keys
(liste, par défaut :[]
):
Clés publiques SSH qui seront autorisées à se connecter en tant queroot
.
Chaque élément de la liste est un objet avec des propriétés comme décrit dansusers_root_authorized_keys
.
users_adfinis_group
(chaîne, par défaut :adfinis
):
Nom du groupe système auquel tous les comptes utilisateurs Adfinis sont ajoutés.users_adfinis_ssh_pubkey_options
(chaîne, par défaut : non défini):
Chaine d'options de clé à préfixer à toutes les lignes de clé.users_adfinis_homedir_mode
(mode de permission de fichier, par défaut :0700
):
Mode de permission pour le répertoire personnel de chaque utilisateur Adfinis.
Remarque : En raison d'un problème historique avec Jinja2, la représentation octale du mode doit soit être passée en tant que chaîne (pour s'assurer qu'elle ne soit pas mal transformée), soit cette option Ansible doit être définie sur vrai.users_adfinis_unrestricted_sudo
(booléen, par défaut :true
):
Indique si les utilisateurs Adfinis se voient accorder des permissionssudo
non restreintes.users_adfinis_user_remove_home
(booléen, par défaut :false
):
Indique si le répertoire personnel doit également être supprimé lors de la suppression d'un compte Adfinis non listé.users_customer
(liste, par défaut :[]
):
Comptes d'utilisateurs clients à configurer. Chaque utilisateur sera ajouté au groupe système{{users_customer_group}}
.
Chaque élément de la liste est un objet avec des propriétés comme décrit dansusers_adfinis
.users_customer_homedir_mode
(mode de permission de fichier, par défaut :0755
):
Mode de permission pour le répertoire personnel de chaque utilisateur client.
La valeur par défaut le rend lisible par tous afin que les clients puissent utilisersudo -u
pour exécuter des commandes en tant qu'autres utilisateurs et passer des fichiers dans leur répertoire personnel.
Remarque : En raison d'un problème historique avec Jinja2, la représentation octale du mode doit soit être passée en tant que chaîne (pour s'assurer qu'elle ne soit pas mal transformée), soit cette option Ansible doit être définie sur vrai.users_customer_unrestricted_sudo
(booléen, par défaut :false
):
Indique si les utilisateurs clients se voient accorder des permissionssudo
non restreintes.users_default_user
(chaîne, par défaut :adfinis
):
Nom du compte d'utilisateur non-root initial existant sur le système, à supprimer.users_default_user_remove_home
(booléen, par défaut :false
):
Indique si le répertoire personnel de l'utilisateur non-root initial existant doit également être supprimé.
Tags du Rôle
init
: Identique àrole::users:root
etrole::users:adfinis
combinés.role::users
: Toutes les tâches de ce rôle.role::users:root
: Toutes les tâches qui configurent le compte utilisateur root.role::users:adfinis
: Toutes les tâches qui configurent les comptes utilisateurs Adfinis.role::users:adfinis:create
: Toutes les tâches qui configurent les comptes utilisateurs Adfinis (sans suppression).role::users:adfinis:delete
: Toutes les tâches qui suppriment les comptes utilisateurs Adfinis superflus.role::users:customer
: Toutes les tâches qui configurent les comptes utilisateurs clients.role::users:default
: Toutes les tâches qui nettoient le compte utilisateur par défaut.
Politique de Support
Seule la dernière version est maintenue et supportée (voir la page des Tags).
Une fois qu'une nouvelle version est publiée, la branche de la version précédente ne reçoit plus de corrections de bogues.
Create and remove posix users and groups, add or remove ssh keys
ansible-galaxy install adfinis-sygroup.users