adfinis.users
utilisateurs
Ce rôle configure les comptes utilisateurs pour les clients et Adfinis.
Exigences
Ce rôle suppose qu'il y a un utilisateur initial non-root avec des permissions sudo présent sur le système ({{users_default_user}}
, voir Variables de rôle ci-dessous).
Cet utilisateur est utilisé pour la configuration initiale des comptes utilisateurs, puis est supprimé. La suppression se fait 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, appliquez avec
remote_user: {{users_default_user}}
.Après cela, appliquez avec l'utilisateur prévu (soit le compte personnel, soit
root
, si cela est autorisé).
Il est recommandé de garder un playbook/jouer pour la configuration initiale et un playbook/jouer pour la gestion continue.
Dépendances de rôle
(aucune)
Variables de rôle
Obligatoire
users_root_password_salt
(chaîne, 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.
Optionnel
users_root_password
(chaîne, défaut : non défini):
Si cela n'est pas défini, le mot de passe root n'est pas changé.
Si cela est défini etusers_root_password_is_hashed
est faux, c'est le mot de passe en texte clair, etusers_root_password_salt
doit également être défini.
Si cela est défini etusers_root_password_is_hashed
est vrai, cela est supposé être un mot de passe haché (produit paransible.builtin.password_hash
).users_root_password_is_hashed
(booléen, défaut :false
):
Si défini surtrue
,users_root_password
est supposé déjà haché (dans ce cas,users_root_password_salt
n'est pas requis).users_root_authorized_keys
(liste, 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):
Données de la clé elle-même.comment
(chaîne, optionnelle, défaut : non défini):
Commentaire ajouté à la ligne de la clé (généralementutilisateur@hôte
).description
(chaîne, optionnelle, défaut : non défini):
Description lisible par l'homme à placer comme commentaire dans le fichierauthorized_keys
au-dessus de la ligne de clé.options
(chaîne, optionnelle, défaut : non défini):
Chaîne d'options de clé à prépendre à la ligne de clé.
users_adfinis
(liste, défaut :[]
):
Comptes utilisateurs Adfinis à configurer. Chaque utilisateur sera ajouté au groupe système{{users_adfinis_group}}
. En revanche, 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, 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écrites dansusers_root_authorized_keys
.
users_adfinis_group
(chaîne, défaut :adfinis
):
Nom du groupe système auquel tous les comptes utilisateurs Adfinis sont ajoutés.users_adfinis_ssh_pubkey_options
(chaîne, défaut : non défini):
Chaîne d'options de clé à prépendre à toutes les lignes de clé.users_adfinis_homedir_mode
(mode de permission de fichier, défaut :0700
):
Mode de permission de fichier pour le répertoire personnel de chaque utilisateur Adfinis.
Remarque : À cause d'un problème historique avec Jinja2, la représentation octale du mode doit être soit transmise sous forme de chaîne (pour s'assurer qu'elle ne soit pas transformée incorrectement), soit cette option Ansible doit être définie sur true.users_adfinis_unrestricted_sudo
(booléen, défaut :true
):
Indique si oui ou non les utilisateurs Adfinis bénéficient de permissionssudo
illimitées.users_adfinis_user_remove_home
(booléen, défaut :false
):
Indique si oui ou non le répertoire personnel doit également être supprimé lors de la suppression d'un compte Adfinis non listé.users_customer
(liste, défaut :[]
):
Comptes 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écrites dansusers_adfinis
.users_customer_homedir_mode
(mode de permission de fichier, défaut :0755
):
Mode de permission de fichier pour le répertoire personnel de chaque utilisateur client.
Le défaut le maintient lisible par le monde afin que les clients puissent utilisersudo -u
pour exécuter des commandes en tant qu'autres utilisateurs et continuer à passer des fichiers dans leur répertoire personnel.
Remarque : À cause d'un problème historique avec Jinja2, la représentation octale du mode doit soit être transmise sous forme de chaîne (pour s'assurer qu'elle ne soit pas transformée incorrectement), soit cette option Ansible doit être définie sur true.users_customer_unrestricted_sudo
(booléen, défaut :false
):
Indique si oui ou non les utilisateurs clients bénéficient de permissionssudo
illimitées.users_default_user
(chaîne, défaut :adfinis
):
Nom de l'utilisateur non-root existant initialement sur le système, qui sera supprimé.users_default_user_remove_home
(booléen, défaut :false
):
Indique si oui ou non le répertoire personnel de l'utilisateur non-root existant initialement doit également être supprimé.
Étiquettes de 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 étiquettes).
Une fois qu'une nouvelle version est publiée, la branche de la version précédente ne reçoit plus de correctifs de bogues.
ansible-galaxy install adfinis.users