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.
Add/Remove users; define and check security settings
ansible-galaxy install guidugli.user