pcanham.users

Statut de construction

ansible-users

Rôle pour gérer les utilisateurs sur un système.

Configuration du rôle

  • users_create_per_user_group (par défaut : vrai) - lors de la création d'utilisateurs, crée également un groupe avec le même nom d'utilisateur et en fait le groupe principal de l'utilisateur.
  • users_group (par défaut : users) - si users_create_per_user_group n'est pas défini, alors c'est le groupe principal pour tous les utilisateurs créés.
  • users_default_shell (par défaut : /bin/bash) - le shell par défaut si aucun n'est spécifié pour l'utilisateur.
  • users_create_homedirs (par défaut : vrai) - crée des répertoires personnels pour les nouveaux utilisateurs. Mettez ceci à faux si vous gérez les répertoires personnels séparément.
  • users_ssh_key_exclusive (par défaut : faux) - Indique s'il faut supprimer toutes les autres clés non spécifiées du fichier authorized_keys.
  • authorized_keys_file (par défaut : .ssh/authorized_keys) - Définissez ceci si le serveur ssh est configuré pour utiliser un fichier de clés autorisées non standard.

Création d'utilisateurs

Ajoutez une variable users contenant la liste des utilisateurs à ajouter. Un bon endroit pour cela est group_vars/all ou group_vars/nom_du_groupe si vous ne souhaitez que des utilisateurs sur certaines machines.

Les attributs suivants sont requis pour chaque utilisateur :

  • username - Le nom d'utilisateur de l'utilisateur.
  • name - Le nom complet de l'utilisateur (champ gecos).
  • home - Le répertoire personnel de l'utilisateur à créer (optionnel, par défaut /home/username).
  • uid - L'identifiant numérique de l'utilisateur (optionnel). Cela est requis pour la cohérence des uid entre les systèmes.
  • gid - L'identifiant numérique du groupe (optionnel). Sinon, l'uid sera utilisé.
  • password - Si un hachage est fourni, il sera utilisé ; sinon, le compte sera verrouillé.
  • update_password - Cela peut être soit 'always' soit 'on_create'
    • 'always' mettra à jour les mots de passe s'ils diffèrent. (par défaut)
    • 'on_create' ne définira le mot de passe que pour les utilisateurs nouvellement créés.
  • group - Remplacement optionnel du groupe principal.
  • groups - Une liste de groupes supplémentaires pour l'utilisateur.
  • append - Si oui, ajoutera seulement des groupes, sans les limiter à la liste dans groups (optionnel).
  • profile - Un bloc de chaîne pour définir des profils de shell personnalisés.
  • ssh_key - Cela devrait être une liste de clés SSH pour l'utilisateur (optionnel). Chaque clé SSH doit être incluse directement et ne doit pas contenir de nouvelles lignes.
  • generate_ssh_key - Indique s'il faut générer une clé SSH pour l'utilisateur (optionnel, par défaut : non).

De plus, les éléments suivants sont optionnels pour chaque utilisateur :

  • shell - Le shell de l'utilisateur. Cela par défaut à /bin/bash. La valeur par défaut est configurable avec la variable users_default_shell si vous souhaitez donner le même shell à tous les utilisateurs, mais il est différent de /bin/bash.
  • ssh_key_exclusive - Indique s'il faut supprimer toutes les autres clés non spécifiées du fichier authorized_keys (par défaut : users_ssh_key_exclusive).

Exemple :

---
users:
  - username: foo
    name: Foo Barrington
    groups: ['wheel','systemd-journal']
    uid: 1001
    home: /local/home/foo
    profile: |
      alias ll='ls -lah'
    ssh_key:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
groups_to_create:
  - name: developers
    gid: 10000
users_deleted:
  - username: bar
    name: Bar User
    uid: 1002

Suppression des utilisateurs

La variable users_deleted contient une liste d'utilisateurs qui ne doivent plus se trouver dans le système, et ceux-ci seront supprimés lors de la prochaine exécution d'ansible. Le format est le même que pour les utilisateurs à ajouter, mais le seul champ requis est username. Cependant, il est recommandé de garder aussi le champ uid en référence pour éviter que les identifiants numériques d'utilisateur ne soient réutilisés par accident.

Vous pouvez également choisir de supprimer le répertoire personnel de l'utilisateur et la boîte aux lettres avec le paramètre remove, et forcer la suppression des fichiers avec le paramètre force.

users_deleted:
  - username: bar
    uid: 1002
    remove: yes
    force: yes
À propos du projet

User creation role

Installer
ansible-galaxy install pcanham.users
Licence
mit
Téléchargements
736
Propriétaire