monolithprojects.user_management

Gestion des Utilisateurs

Dernière version Qualité Galaxy Téléchargements Galaxy Actions GitHub

Ce rôle Ansible permet de gérer (créer, éditer, supprimer) des utilisateurs Linux. La gestion inclut également la distribution des clés SSH.

Comment ça fonctionne

Ce rôle utilise des faits locaux sur chaque hôte pour stocker les noms des utilisateurs figurant dans user_management. Seuls ces utilisateurs sont gérés par ce rôle. Une fois que vous aurez retiré un utilisateur de la liste user_management, l'utilisateur et son répertoire personnel seront supprimés de l'hôte. Les utilisateurs non mentionnés dans la liste user_management (utilisateurs non créés par ce rôle Ansible) resteront intacts.

Ce rôle peut

  • créer des utilisateurs
  • supprimer des utilisateurs
  • éditer des utilisateurs
  • gérer des clés SSH

Exigences

  • Distributions Linux prises en charge :

    • CentOS/RHEL 7,8
    • Debian 9,10
    • Fedora 29,30,31,32
    • Ubuntu 16,18,20

    Remarque : Ce sont les distributions Linux testées chaque semaine. Le rôle fonctionnera probablement aussi sur d'autres distributions Linux sans problème.

Variables du rôle

Ceci est un extrait de defaults/main.yml

local_facts_file: linux_users.fact
local_facts_path: /etc/ansible/facts.d
user_management:
#   - name: userx                       <<< Nom d'utilisateur (obligatoire).
#     comment: Utilisateur X             <<< (Optionnel) Description de l'utilisateur.
#     groups:                           <<< (Optionnel) Liste des groupes auxquels l'utilisateur sera ajouté.
#       - games
#       - video
#     ssh_keys:                         <<< (Optionnel) Liste des clés publiques autorisées.
#       - 'ssh-ed25519 xxxx quelque chose'
#     shell: /bin/bash                  <<< (Optionnel) Shell de l'utilisateur (valeur par défaut "/bin/bash")
#     expires: -1                       <<< (Optionnel) Date d'expiration de l'utilisateur au format Epoch (valeur par défaut "-1").
#     create_home: yes                  <<< (Optionnel) Créer un répertoire personnel (valeur par défaut "yes").
#     system: no                        <<< (Optionnel) Créer un compte système (valeur par défaut "no").

Exemple de Playbook :

Dans cet exemple, Ansible va créer (ou éventuellement éditer - si ce n'est pas le premier exécution) 3 utilisateurs. user1 avec un commentaire, zsh comme shell par défaut, l'utilisateur expirera à 1640991600 en temps Unix, l'utilisateur sera ajouté aux groupes d'utilisateurs sudo et docker, et enfin ajouter deux clés publiques SSH. user2 sera créé avec les valeurs par défaut. appuser sera créé en tant qu'utilisateur système.

---
- name: Gestion des Utilisateurs
  hosts: all
  user: ubuntu
  gather_facts: yes
  become: yes
  vars:
  
    user_management:
      - name: user1
        comment: Mon Utilisateur Test
        shell: /bin/zsh
        expires: 1640991600
        groups:
          - sudo
          - docker
        ssh_keys:
          - 'ssh-ed25519 xxxxxx ma_clé_utilisateur'
          - 'ssh-rsa xxxxxx ma_clé_utilisateur'

      - name: user2

      - name: appuser
        system: yes
        create_home: no

  roles:
      - ansible-user_management

Licence

MIT

Informations sur l'Auteur

Créé en 2020 par Michal Muransky

À propos du projet

Linux users and ssh keys management

Installer
ansible-galaxy install monolithprojects.user_management
Licence
Unknown
Téléchargements
61k
Propriétaire
Full-time Cloud Engineer, part-time adventurer