webofmars.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 : true) - lors de la création d'utilisateurs, crée également un groupe avec le même nom d'utilisateur et fait de ce groupe le groupe principal de l'utilisateur.
  • users_group (par défaut : users) - si users_create_per_user_group n'est pas défini, alors ceci 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 : true) - crée des répertoires personnels pour les nouveaux utilisateurs. Réglez ceci sur false si vous gérez les répertoires personnels séparément.

Création d'utilisateurs

Ajoutez une variable users 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 soient uniquement 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 (facultatif, par défaut /home/username)
  • uid - L'identifiant numérique de l'utilisateur. Ceci est requis pour garantir la cohérence des uid à travers les systèmes.
  • gid - L'identifiant numérique du groupe (facultatif). Sinon, l'uid sera utilisé.
  • password - Si un hash 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.
  • profile - un bloc de chaîne pour définir des profils de shell personnalisés
  • ssh_authorized_keys - Ceci devrait être une liste de clés ssh pour l'utilisateur. Chaque clé ssh doit être incluse directement et ne doit pas avoir de nouvelles lignes.

En outre, les éléments suivants sont optionnels pour chaque utilisateur :

  • generate_ssh_key - Indique si une clé SSH doit être générée pour l'utilisateur (optionnel, par défaut non).

  • ssh_priv_key - clé privée ssh de l'utilisateur (format RSA)

  • shell - Le shell de l'utilisateur. Par défaut, c'est /bin/bash. La valeur par défaut est configurable à l'aide de la variable users_default_shell si vous souhaitez donner à tous les utilisateurs le même shell, mais cela diffère 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_authorized_keys:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
    ssh_priv_key: |
      -----BEGIN RSA PRIVATE KEY-----
      Contenu de la clé <...>
      -----END RSA PRIVATE KEY-----
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 conserver également le champ uid pour référence afin que les identifiants numériques des utilisateurs ne soient pas réutilisés par inadvertance.

À propos du projet

provision users and groups on linux servers

Installer
ansible-galaxy install webofmars.users
Licence
mit
Téléchargements
298
Propriétaire
webofmars is a devops & IT company based in Marseille, France