monolithprojects.user_management

Gestión de Usuarios

Última versión Calidad de Galaxy Descargas de Galaxy Acciones de GitHub

Este rol de Ansible es para gestionar (crear, editar, eliminar) usuarios de Linux. La gestión también incluye la distribución de las claves SSH.

Cómo funciona

Este rol utiliza hechos locales en cada host para almacenar los nombres de usuario listados en user_management. Solo estos usuarios son gestionados por este rol. Una vez que elimines un usuario de la lista de user_management, el usuario y el directorio personal serán eliminados del anfitrión. Los usuarios que no estén listados en la lista de user_management (usuarios no creados por este rol de Ansible) permanecerán intactos.

Este rol puede

  • crear usuarios
  • eliminar usuarios
  • editar usuarios
  • gestionar claves SSH

Requisitos

  • Distribuciones de Linux soportadas:

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

    Nota: Estas son las distribuciones de Linux probadas semanalmente. Es probable que el rol funcione bien en otras distribuciones de Linux diferentes.

Variables del Rol

Esta es una copia de defaults/main.yml

local_facts_file: linux_users.fact
local_facts_path: /etc/ansible/facts.d
user_management:
#   - name: userx                       <<< Nombre del usuario (Requerido).
#     comment: User X                   <<< (Opcional) Descripción del usuario.
#     groups:                           <<< (Opcional) Lista de grupos a los que se añadirá el usuario.
#       - games
#       - video
#     ssh_keys:                         <<< (Opcional) Lista de claves públicas autorizadas.
#       - 'ssh-ed25519 xxxx algo'
#     shell: /bin/bash                  <<< (Opcional) Shell del usuario (valor por defecto "/bin/bash").
#     expires: -1                       <<< (Opcional) Fecha de expiración del usuario en formato Epoch (valor por defecto "-1").
#     create_home: yes                  <<< (Opcional) Crear directorio personal (valor por defecto "yes").
#     system: no                        <<< (Opcional) Crear una cuenta de sistema (valor por defecto "no").

Ejemplo de Playbook:

En este ejemplo, Ansible creará (o eventualmente editará - si no es la primera ejecución) 3 usuarios. user1 con comentario, zsh como shell por defecto, el usuario expirará en 1640991600 tiempo Unix, el usuario será añadido a los grupos sudo y docker, y finalmente se añadirán dos claves públicas SSH. user2 será creado con valores por defecto. appuser será creado como un usuario de sistema.

---
- name: Gestión de Usuarios
  hosts: all
  user: ubuntu
  gather_facts: yes
  become: yes
  vars:
  
    user_management:
      - name: user1
        comment: Mi Usuario de Prueba
        shell: /bin/zsh
        expires: 1640991600
        groups:
          - sudo
          - docker
        ssh_keys:
          - 'ssh-ed25519 xxxxxx mi_clave_de_usuario'
          - 'ssh-rsa xxxxxx mi_clave_de_usuario'

      - name: user2

      - name: appuser
        system: yes
        create_home: no

  roles:
      - ansible-user_management

Licencia

MIT

Información del Autor

Creado en 2020 por Michal Muransky

Acerca del proyecto

Linux users and ssh keys management

Instalar
ansible-galaxy install monolithprojects.user_management
Licencia
Unknown
Descargas
61k
Propietario
Full-time Cloud Engineer, part-time adventurer