cchurch.admin-users

Statut de construction Galaxy

Utilisateurs Admin

Gérez les utilisateurs admin, les clés autorisées et l'accès sudo.

Le support des versions d'Ansible < 2.8 a été abandonné à partir de la version 0.9.0.

Exigences

Le package sudo sera installé s'il n'est pas déjà présent. Amazon Linux nécessite également que le package shadow-utils soit installé avant d'exécuter ce rôle.

Variables de rôle

Les variables suivantes peuvent être définies pour personnaliser ce rôle :

  • admin_users: Liste des utilisateurs admin à créer ou mettre à jour ; la valeur par défaut est []. Chaque élément de cette liste doit être un objet ayant les clés suivantes :

    • username: Nom d'utilisateur de l'utilisateur admin (obligatoire).
    • fullname: Nom complet de l'utilisateur admin (facultatif).
    • shell: Shell par défaut pour cet utilisateur ; admin_users_default_shell sera utilisé si cette clé est omise.
    • pubkey: La clé publique à associer à l'utilisateur donné. Cette valeur peut être une chaîne contenant le contenu de la clé publique de l'utilisateur, une chaîne contenant une URL vers une liste de clés (ex. https://github.com/username.keys), ou une liste de plusieurs chaînes contenant soit le contenu de clés publiques soit des URL. Le support des listes de clés a été ajouté dans 0.7.0.
    • pubkey_options: Options supplémentaires à passer au module authorized_key (facultatif).
    • exclusive: Booléen indiquant s'il faut supprimer toutes les autres clés publiques (facultatif).
  • admin_user_groups: Booléen indiquant s'il faut créer/supprimer ; par défaut, c'est true.

  • admin_users_sudo_nopasswd: Booléen indiquant s'il faut activer sudo avec l'option NOPASSWD pour les utilisateurs admin ; par défaut, c'est true.

  • admin_users_default_shell: Shell par défaut pour les utilisateurs admin ; par défaut, c'est "/bin/bash".

  • admin_users_to_remove: Liste des noms d'utilisateur à supprimer du système distant ; par défaut, c'est []. Si admin_user_groups est true, les groupes avec ces noms d'utilisateur seront également supprimés.

Dépendances

Aucune.

Exemple de Playbook

Le playbook suivant met à jour les utilisateurs admin sur les serveurs de développement et de production avec différentes options :

- hosts: serveurs-dev
  vars:
    dev_admin_users:
      - username: joe
        fullname: "Joe Dev"
        pubkey:
          - "ssh-rsa ..."
          - "ssh-dsa ..."
      - username: jim
        fullname: "Jim Dev"
        shell: "/bin/sh"
        pubkey: "https://github.com/jim.keys"
        exclusive: true
  roles:
    - role: cchurch.admin-users
      admin_users: dev_admin_users
- hosts: serveurs-prod
  vars:
    prod_admin_users:
      - username: jon
        fullname: "Jon Admin"
        pubkey: "ssh-rsa ..."
  roles:
    - role: cchurch.admin-users
      admin_users: prod_admin_users
      admin_users_sudo_nopasswd: false

Licence

BSD

Informations sur l'auteur

Chris Church (cchurch)

À propos du projet

Manage admin users, authorized keys and sudo access.

Installer
ansible-galaxy install cchurch.admin-users
Licence
other
Téléchargements
4k
Propriétaire
Python/Django/Ansible, will code for sweet tea and beer.