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 :

  1. La première fois, appliquer avec remote_user: {{users_default_user}}.

  2. 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 si users_root_password est défini et users_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 si users_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 que users_root_password_is_hashed est faux, il s'agit du mot de passe en texte clair, et users_root_password_salt doit également être défini.
    Si cela est défini et que users_root_password_is_hashed est vrai, il est supposé qu'il s'agit d'un mot de passe haché (tel que produit par ansible.builtin.password_hash).

  • users_root_password_is_hashed (booléen, par défaut : false):
    S'il est défini sur true, 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 que root.
    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éralement utilisateur@hôte).
    • description (chaîne, optionnelle, par défaut : non défini):
      Description lisible par un humain à placer en tant que commentaire dans le fichier authorized_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 que root.
      Chaque élément de la liste est un objet avec des propriétés comme décrit dans users_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 permissions sudo 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 dans users_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 utiliser sudo -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 permissions sudo 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 et role::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.

À propos du projet

Create and remove posix users and groups, add or remove ssh keys

Installer
ansible-galaxy install adfinis-sygroup.users
Licence
Unknown
Téléchargements
3.5k
Propriétaire
Adfinis SyGroup was rebranded to Adfinis, follow the link below: