guidugli.user

Rol de Ansible: Usuario

Un Rol de Ansible que establece definiciones de inicio de sesión, políticas de usuario y también realiza verificaciones de seguridad relacionadas con usuarios y grupos. Sistemas objetivo: RHEL/CentOS, Fedora y Debian/Ubuntu.

Requisitos

No se requieren requisitos adicionales.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con valores predeterminados (ver defaults/main.yml):

user_skip_config: false

Si se establece en verdadero, se omitirán todas las configuraciones de usuario y solo se agregarán o eliminarán usuarios y grupos.

user_new_password: "{{ vault_admin_password }}"

Si la contraseña del usuario que ejecuta ansible cambia, esta variable debe contener la nueva contraseña, para que ansible_become_pass y ansible_ssh_pass puedan actualizarse. Se recomienda almacenar la contraseña en otro archivo y cifrarla con vault.

user_configure_single_user: no

Indica si se debe configurar el modo de un solo usuario (necesita tener la contraseña de root configurada).

user_max_days: 365

Número de días antes de que la contraseña expire.

user_min_days: 7

Número de días hasta que el usuario puede cambiar la contraseña.

user_inactive_days: 30

Número de días antes de que el usuario sea considerado inactivo.

user_warn_age: 7

Número de días antes de que expire la contraseña que generará una advertencia al usuario.

user_umask: '027'

UMASK que se utilizará para todos los usuarios.

user_shell_timeout: 900

Tiempo de espera del shell en segundos.

user_fix_existing_accounts: yes

Si se establece en verdadero/sí, realizará verificaciones de seguridad en usuarios y grupos.

root_password: ''

Establece la contraseña de root.

user_account_add: []
  #- name: ejemplo
  #  comment: Este es un ejemplo
  #  uid: 1076
  #  groups: ['admin']
  #  shell: /bin/bash
  #  password: encpwd

Agrega/cambia las cuentas especificadas. El valor predeterminado es una lista vacía. Las líneas arriba comentadas muestran un ejemplo de cómo especificar una entrada. Todas las opciones de ansible.builtin.user están disponibles, además de una nueva opción "linger", que habilita/deshabilita el "linger" del usuario (revisa el comando loginctl para más información sobre el "linger"). Si no se especifica "linger", no se cambiará. Si se establece en falso, el "linger" se deshabilitará. Si se establece en verdadero, el "linger" se habilitará. NOTA: El "linger" no funcionará en contenedores porque necesita systemd y dbus.

user_account_remove: []
  #- acc_a_eliminar

Lista de nombres de usuario que se eliminarán del sistema.

user_group_add: []
#  - name: admin
#    gid: 760

Agrega los grupos especificados al sistema. El valor predeterminado es una lista vacía. Las líneas arriba comentadas muestran un ejemplo de cómo especificar una entrada. El único parámetro obligatorio para cada entrada de usuario es el campo de nombre (nombre del grupo).

user_group_remove: []
#  - mygroup

Elimina los grupos especificados del sistema.

user_alias: []
#  - user: ejemplo
#    alias: ll
#    command: ls -l --color=auto
#    state: present

Especifica los alias que deben ser creados/eliminados del archivo bashrc del usuario. El comando no es obligatorio cuando el estado es ausente. El valor predeterminado es una lista vacía. Las líneas arriba comentadas muestran un ejemplo de cómo especificar una entrada.

Dependencias

No hay dependencias.

Ejemplo de Playbook

- hosts: servidores
  vars:
    user_max_days: 365
    user_min_days: 7
    user_inactive_days: 30
    user_warn_age: 7
    user_umask: '027'
    user_shell_timeout: 900
    user_fix_existing_accounts: yes
    root_password: mypass
    user_account_add:
      - name: ejemplo
        comment: Este es un ejemplo
        uid: 1076
        groups: ['admin']
        shell: /bin/bash
        password: encpwd
        linger: false
    user_account_remove:
      - eliminame
    user_group_add:
      - name: admin
        gid: 760
    user_group_remove:
      - mygroup
    user_alias:
      - user: ejemplo
        alias: myls
        command: ls -l --color=auto
        state: present

  roles:
     - { role: guidugli.usuario }

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2020 por Carlos Guidugli.

Acerca del proyecto

Add/Remove users; define and check security settings

Instalar
ansible-galaxy install guidugli.user
Licencia
mit
Descargas
142
Propietario