pcanham.users

Estado de Construcción

ansible-users

Rol para gestionar usuarios en un sistema.

Configuración del rol

  • users_create_per_user_group (predeterminado: true) - al crear usuarios, también crea un grupo con el mismo nombre de usuario y establece ese grupo como el grupo primario del usuario.
  • users_group (predeterminado: users) - si no se establece users_create_per_user_group, entonces este es el grupo primario para todos los usuarios creados.
  • users_default_shell (predeterminado: /bin/bash) - el shell predeterminado si no se especifica ninguno para el usuario.
  • users_create_homedirs (predeterminado: true) - crear directorios personales para los nuevos usuarios. Establezca esto en false si gestiona los directorios personales por separado.
  • users_ssh_key_exclusive (predeterminado: false) - Si se debe eliminar todas las demás claves no especificadas del archivo authorized_keys.
  • authorized_keys_file (predeterminado: .ssh/authorized_keys) - Establezca esto si el servidor ssh está configurado para usar un archivo de claves autorizadas no estándar.

Creando usuarios

Agregue una variable de usuarios que contenga la lista de usuarios por agregar. Un buen lugar para poner esto es en group_vars/all o group_vars/groupname si solo desea que los usuarios estén en ciertas máquinas.

Los siguientes atributos son requeridos para cada usuario:

  • username - El nombre de usuario del usuario.
  • name - El nombre completo del usuario (campo gecos).
  • home - El directorio personal del usuario que se debe crear (opcional, por defecto /home/username).
  • uid - La identificación numérica del usuario (opcional). Esto es necesario para la consistencia del uid en los sistemas.
  • gid - La identificación numérica del grupo (opcional). De lo contrario, se utilizará el uid.
  • password - Si se proporciona un hash, se utilizará, de lo contrario, la cuenta quedará bloqueada.
  • update_password - Puede ser 'always' o 'on_create'
    • 'always' actualizará las contraseñas si son diferentes. (predeterminado)
    • 'on_create' solo establecerá la contraseña para los usuarios recién creados.
  • group - Anulación opcional del grupo primario.
  • groups - Una lista de grupos suplementarios para el usuario.
  • append - Si es sí, solo agregará grupos, no los establecerá solo en la lista en grupos (opcional).
  • profile - Un bloque de cadena para establecer perfiles de shell personalizados.
  • ssh_key - Esta debe ser una lista de claves SSH para el usuario (opcional). Cada clave SSH debe estar incluida directamente y no debe tener saltos de línea.
  • generate_ssh_key - Si se debe generar una clave SSH para el usuario (opcional, predeterminado en no).

Además, los siguientes elementos son opcionales para cada usuario:

  • shell - El shell del usuario. Esto predetermina a /bin/bash. El predeterminado es configurable usando la variable users_default_shell si desea dar a todos los usuarios el mismo shell, pero es diferente de /bin/bash.
  • ssh_key_exclusive - Si se deben eliminar todas las demás claves no especificadas del archivo authorized_keys (predeterminado en users_ssh_key_exclusive).

Ejemplo:

---
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

Eliminando usuarios

La variable users_deleted contiene una lista de usuarios que ya no deberían estar en el sistema, y estos serán eliminados en la próxima ejecución de ansible. El formato es el mismo que para los usuarios que se agregarán, pero el único campo requerido es username. Sin embargo, se recomienda que también mantenga el campo uid como referencia para que las identificaciones numéricas de usuario no se reutilicen accidentalmente.

Puede optar por eliminar el directorio personal del usuario y la bandeja de correo con el parámetro remove, y forzar la eliminación de archivos con el parámetro force.

users_deleted:
  - username: bar
    uid: 1002
    remove: yes
    force: yes
Acerca del proyecto

User creation role

Instalar
ansible-galaxy install pcanham.users
Licencia
mit
Descargas
736
Propietario