singleplatform-eng.users
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 fait de cela le groupe principal de l'utilisateur.
- users_group (par défaut : utilisateurs) - 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 s'il n'y en a pas de spécifié pour l'utilisateur.
- users_create_homedirs (par défaut : vrai) - crée des répertoires personnels pour les nouveaux utilisateurs. Réglez cela sur faux si vous gérez les répertoires personnels séparément.
- 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 utilisateurs contenant la liste des utilisateurs à ajouter. Un bon endroit pour cela est dans group_vars/all
ou group_vars/groupname
si vous souhaitez que les utilisateurs ne soient 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 utilisateur numérique pour l'utilisateur (optionnel). Cela est requis pour la cohérence de l'uid à travers les systèmes.
- gid - L'identifiant de groupe numérique pour le groupe (optionnel). Sinon, l'uid sera utilisé.
- password - Si un hachage est fourni, il sera utilisé, sinon le compte sera bloqué.
- update_password - Cela peut être soit 'toujours' soit 'à la création'
- 'toujours' mettra à jour les mots de passe s'ils diffèrent. (par défaut)
- 'à la création' définira seulement le mot de passe 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, n'ajoutera que des groupes, ne les définira pas uniquement à 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 devrait être incluse directement et ne devrait pas avoir de nouvelles lignes.
- generate_ssh_key - Indique s'il faut générer une clé SSH pour l'utilisateur (optionnel, par défaut non).
En outre, les éléments suivants sont optionnels pour chaque utilisateur :
- shell - Le shell de l'utilisateur. Cela par défaut à /bin/bash. Le défaut est configurable en utilisant la variable users_default_shell si vous souhaitez donner à tous les utilisateurs le même shell, mais il est différent de /bin/bash.
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 d'utilisateurs
La variable users_deleted
contient une liste d'utilisateurs qui ne doivent plus être 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 également le champ uid
pour référence afin que les identifiants utilisateurs numériques ne soient pas accidentellement réutilisés.
Vous pouvez éventuellement choisir de supprimer le répertoire personnel de l'utilisateur et la file d'attente de mail avec le paramètre remove
, et forcer la suppression des fichiers avec le paramètre force
.
users_deleted:
- username: bar
uid: 1002
remove: oui
force: oui
ansible-galaxy install singleplatform-eng.users