Tutorial de módulo de usuario de Ansible

Tutorial de módulo de usuario de Ansible
Administrar usuarios y atributos de usuario es una operación típica para cualquier administrador del sistema. El módulo de usuario ansible es una de las formas más prácticas de administrar a los usuarios y sus atributos cuando se trabaja con hosts remotos.

Ansible.incorporado.El módulo de usuario es parte de Ansible-Core y está disponible de forma predeterminada en la mayoría de las instalaciones de Ansible.

En esta guía, nos centraremos en cómo administrar cuentas de usuario utilizando el módulo de usuario ansible.

Cómo funciona el módulo de usuario ansible

El módulo de usuario de Ansible funciona utilizando una colección de parámetros. Cada parámetro le permite personalizar la acción que realiza el módulo y cómo el módulo realiza acciones establecidas en el host remoto.

Los siguientes son algunos de los parámetros importantes del módulo de usuario Ansible.

  • nombre - El nombre de usuario para crear, eliminar o modificar
  • contraseña - Establece una contraseña para un usuario específico.
  • uid - Establece el UID de un usuario definido.
  • caparazón - Establece el shell predeterminado para un usuario.
  • expirar - Establece el tiempo de vencimiento expresado en el tiempo de la época.
  • generar_SSH_KEY - Un valor booleano que se establece si se debe generar un par de teclado SSH para un usuario especificado.
  • create_home - Valor booleano. Si es cierto, se crea un directorio de inicio para un usuario durante la creación de cuentas.
  • fuerza - Force Eliminar una cuenta de usuario
  • grupo - Define el grupo principal para un usuario específico.
  • estado - Determina si una cuenta debe existir o no: ausente o presente

Es bueno entender que hay otros parámetros no cubiertos en esta guía. Verifique los documentos del módulo de usuario de Ansible para obtener más información.

La mejor manera de ilustrar cómo usar el módulo de usuario ansible es usar ejemplos prácticos.

Módulo de usuario ansible Ejemplos prácticos

En esta guía, suponemos que tiene un nodo de control Ansible con el inventario remoto de host configurado.

Antes de continuar, comience por las pruebas si los hosts remotos están activos:

ansible todo -m ping -v

Si todos los hosts están activos y se cumplen todos los requisitos, debería ver una salida similar a la que se muestra a continuación:

Ejemplo 1: Cómo crear un usuario

Para crear un usuario en los hosts remotos, podemos usar un libro de jugadas simple como el que se muestra en el ejemplo a continuación:

---
- Anfitriones: todos
hecho realidad
tareas:
- Nombre: Crear usuario en host remoto
ansible.incorporado.usuario:
Nombre: ansible_test
Shell: /bin /Bash
Grupo: rueda

En el ejemplo anterior, llamamos al módulo de usuario usando su nombre completo. Sin embargo, puede nombrarlo en el "usuario"

  1. nombre - Especifica el nombre de usuario del usuario objetivo para crear
  2. caparazón - Establece el shell predeterminado para el usuario
  3. grupo - Define el grupo principal para el usuario

Guarde el libro de jugadas y ejecute con el comando:

Ansible-Playbook crear usuario.YML

Ejemplo 2: Cómo eliminar a un usuario

Podemos eliminar a un usuario remoto configurando el estado como ausente y eliminar a verdad. A continuación se muestra un ejemplo de libro de jugadas:

---
- Anfitriones: todos
hecho realidad
tareas:
- Nombre: Eliminar usuario
ansible.incorporado.usuario:
Nombre: ansible_test
Estado: ausente
eliminar: verdadero

En este ejemplo, establecemos el estado como ausente. Configuración del parámetro RETIMAR en verdadero eliminará los directorios asociados del usuario.

Ejecute el libro de jugadas:

Ansible-playbook removeuser.YML

Ejemplo 3: Cómo establecer una fecha de vencimiento de contraseña

Supongamos que queremos establecer una fecha de vencimiento para la contraseña de un usuario. Podemos hacer esto estableciendo la fecha de vencimiento como:

---
- Anfitriones: todos
hecho realidad
tareas:
- Nombre: Establecer la cadena de contraseña
ansible.incorporado.usuario:
Nombre: ansible_test
contraseña_expire_min: 5
contraseña_expire_max: 15

Ejemplo 4: Cómo crear una tecla SSH para un usuario

Para generar un par de claves SSH para un usuario remoto, podemos usar los parámetros Generate_SSH_Key como se muestra en el libro de jugadas a continuación:

---
- Anfitriones: todos
tareas:
- Nombre: Generar la tecla SSH
usuario:
Nombre: ansible_test
generar_ssh_key: verdadero
ssh_key_file: ~/.ssh/id_rsa
SSH_KEY_TYPE: RSA
ssh_key_bits: 4096

Ejemplo 5: Cómo actualizar una contraseña de usuario

Para actualizar la contraseña de un usuario, respaldaremos la sombra y generaremos un hash para la contraseña como se muestra en el libro de jugadas a continuación:

---
- Anfitriones: todos
hecho realidad
tareas:
- Nombre: archivo de sombra de respaldo
Copiar:
src: /etc /sombra
Dest: /etc /sombra.bak
- Nombre: actualizar la contraseña del usuario
usuario:
Nombre: ansible_test
Estado: presente
update_password: verdadero
Contraseña: "UpdatedPassword | Password_hash ('SHA512')"

En el ejemplo anterior, comenzamos haciendo una copia de seguridad del archivo de sombra. A continuación, especificamos la nueva contraseña para el usuario.

Ejecute el libro de jugadas como:

Ansible-Playbook UpdatePass.YML UpdatedPassword =

Conclusión

Esta guía le enseñó cómo administrar usuarios y atributos de usuario utilizando el módulo de usuario Ansible. Sugiero verificar la documentación para parámetros adicionales.