chasinglogic.ansible_users
ansible-users
Rol para gestionar usuarios en un sistema.
Este es un fork de singleplatform-eng.users ya que parece no estar mantenido.
Configuración del rol
users_create_per_user_group
(predeterminado: true) - al crear usuarios, también se crea un grupo con el mismo nombre de usuario y se establece como el grupo principal del usuario.users_group
(predeterminado: users) - siusers_create_per_user_group
no está configurado, este será el grupo principal para todos los usuarios creados.users_default_shell
(predeterminado: /bin/bash) - la shell predeterminada si no se especifica ninguna para el usuario.users_create_homedirs
(predeterminado: true) - crear directorios personales para nuevos usuarios. Establezca esto en false si gestiona los directorios personales por separado.authorized_keys_file
(predeterminado: .ssh/authorized_keys) - Establezca esto si el servidor ssh está configurado para usar un archivo de claves autorizado no estándar.
Creación de usuarios
Agregue una variable de usuarios que contenga la lista de usuarios a añadir. Un buen lugar para poner esto es en group_vars/all
o group_vars/nombre_del_grupo
si solo desea que los usuarios estén en ciertas máquinas.
Los siguientes atributos son necesarios para cada usuario:
username
- El nombre de usuario del usuario.name
- El nombre completo del usuario (campo gecos).home
- El directorio personal del usuario a crear (opcional, predeterminado a /home/username).uid
- El id numérico del usuario (opcional). Esto es necesario para la consistencia de uid entre sistemas.gid
- El id numérico del grupo (opcional). De lo contrario, se usará eluid
.password
- Si se proporciona un hash, se usará; de lo contrario, la cuenta estará bloqueada.update_password
- Esto 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
- Sobrescritura opcional del grupo principal.groups
- Una lista de grupos suplementarios para el usuario.append
- Si es sí, solo añadirá grupos, no los establecerá solo en la lista de 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 incluirse directamente y no debe tener saltos de línea.generate_ssh_key
- Si generar una clave SSH para el usuario (opcional, predeterminado en no).
Además, los siguientes elementos son opcionales para cada usuario:
shell
- La shell del usuario. Esto predetermina a /bin/bash. El valor predeterminado se puede configurar usando la variable users_default_shell si desea dar a todos los usuarios la misma shell, pero es diferente de /bin/bash.
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
Eliminación de 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 a añadir, pero el único campo obligatorio es username
. Sin embargo, se recomienda que también mantenga el campo uid
como referencia para que los ids numéricos 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
ansible-galaxy install chasinglogic.ansible_users