Nota

Este módulo es parte de ansible-base e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el nombre de usuario corto del módulo incluso sin especificar el collections: palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.

Nuevo en la versión 0.2: de ansible.builtin

  • Sinopsis
  • Parámetros
  • Notas
  • Ver también
  • Ejemplos de
  • Valores devueltos

Sinopsis

  • Administre cuentas de usuario y atributos de usuario.
  • Para los destinos de Windows, use el ansible.windows.win_user módulo en su lugar.

Parámetros

Parámetro Opciones / Valores predeterminados Comentarios
adjuntarbooleano
    Opciones:

  • no
Si yes, agregue el usuario a los grupos especificados en groups.Si no, el usuario solo se agregará a los grupos especificados en groups, eliminándolos de todos los demás grupos.
autorizacióncuerda agregado en 2.8 de ansible.builtin Establece la autorización del usuario. No hace nada cuando se usa con otras plataformas. Puede establecer múltiples autorizaciones usando la separación por comas. Para eliminar todas las autorizaciones, use authorization=''.Actualmente compatible con Illumos / Solaris.
comentariocuerda Opcionalmente establece la descripción (también conocida como GECOS) de la cuenta de usuario.
create_homebooleano
    Opciones:

  • no
A menos que se establezca en no, se creará un directorio de inicio para el usuario cuando se cree la cuenta o si el directorio de inicio no existe. createhome para create_home en Ansible 2.5.
alias: createhome
expiraflotador agregado en 1.9 de ansible.builtin Un tiempo de caducidad para el usuario en epoch, se ignorará en plataformas que no lo admitan. Actualmente es compatible con GNU / Linux, FreeBSD y DragonFlyBSD. Desde Ansible 2.6, puede eliminar el tiempo de caducidad especificando un valor negativo. Actualmente soportado en GNU / Linux y FreeBSD.
fuerzabooleano
    Opciones:

  • no
Esto solo afecta state=absent, fuerza la eliminación del usuario y los directorios asociados en las plataformas compatibles. El comportamiento es el mismo que userdel --force, consulte la página de manual para userdel en su sistema para obtener detalles y soporte. generate_ssh_key=yes esto obliga a sobrescribir una clave existente.
generate_ssh_keybooleano agregado en 0.9 de ansible.builtin
    Opciones:

  • no
Si generar una clave SSH para el usuario en cuestión. no sobrescribir una clave SSH existente a menos que se use con force=yes.
grupocuerda Opcionalmente, establece el grupo principal del usuario (toma un nombre de grupo).
gruposlista / elementos = cadena Lista de grupos a los que se agregará el usuario. Cuando se establece en una cadena vacía '', el usuario se elimina de todos los grupos excepto del grupo principal. Antes de Ansible 2.3, el único formato de entrada permitido era una cadena separada por comas.
ocultobooleano agregado en 2.6 de ansible.builtin
    Opciones:

  • no
solo macOS, opcionalmente oculta al usuario de la ventana de inicio de sesión y las preferencias del sistema. yes Si el sistema se utiliza la opción.
hogarsendero Opcionalmente, configure el directorio de inicio del usuario.
localbooleano agregado en 2.4 de ansible.builtin
    Opciones:

  • no
Obliga al uso de alternativas de comando “local” en las plataformas que lo implementan. Esto es útil en entornos que usan autenticación centralizada cuando se desea manipular a los usuarios locales (en otras palabras, usa luseradd en lugar de useradd) .Esto comprobará /etc/passwd para una cuenta existente antes de invocar comandos. Si la base de datos de la cuenta local existe en otro lugar que no sea /etc/passwd, esta configuración no funcionará correctamente. Esto requiere que los comandos anteriores, así como /etc/passwd debe existir en el host de destino, de lo contrario será un error fatal.
login_classcuerda Opcionalmente, establece la clase de inicio de sesión del usuario, una característica de la mayoría de los sistemas operativos BSD.
mudanza de casabooleano
    Opciones:

  • no
Si se establece en yes cuando se usa con home: , intente mover el antiguo directorio de inicio del usuario al directorio especificado si aún no está allí y existe el antiguo inicio.
nombrecuerda / requerido Nombre del usuario a crear, eliminar o modificar.
alias: usuario
non_uniquebooleano agregado en 1.1 de ansible.builtin
    Opciones:

  • no
Opcionalmente, cuando se usa con la opción -u, esta opción permite cambiar el ID de usuario a un valor no único.
contraseñacuerda Opcionalmente, establezca la contraseña del usuario en este valor cifrado. En los sistemas macOS, este valor debe ser texto sin cifrar. Tenga cuidado con los problemas de seguridad. Para crear una cuenta deshabilitada en sistemas Linux, establezca esto en '!' o '*'.Para crear una cuenta deshabilitada en OpenBSD, configúrelo en '*************'.Ver https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#how-do-i-generate-encrypted-passwords-for-the-user-module para obtener detalles sobre varias formas de generar estos valores de contraseña.
password_expire_maxentero agregado en 2.11 de ansible.builtin Número máximo de días entre cambios de contraseña. Solo compatible con Linux.
password_expire_minentero agregado en 2.11 de ansible.builtin Número mínimo de días entre cambios de contraseña. Solo compatible con Linux.
bloqueo de contraseñabooleano agregado en 2.6 de ansible.builtin
    Opciones:

  • no
Bloquear la contraseña (usermod -L, usermod -U, pw lockLa implementación varía según la plataforma. Esta opción no siempre significa que el usuario no puede iniciar sesión usando otros métodos. Esta opción no deshabilita al usuario, solo bloquea la contraseña. Esto debe establecerse en False para desbloquear una contraseña actualmente bloqueada. La ausencia de este parámetro no desbloqueará una contraseña. Actualmente es compatible con Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD.
perfilcuerda agregado en 2.8 de ansible.builtin Establece el perfil del usuario. No hace nada cuando se usa con otras plataformas. Puede establecer múltiples perfiles usando la separación por comas. Para eliminar todos los perfiles, use profile=''.Actualmente compatible con Illumos / Solaris.
retirarbooleano
    Opciones:

  • no
Esto solo afecta state=absent, intenta eliminar los directorios asociados con el usuario. El comportamiento es el mismo que userdel --remove, consulte la página de manual para obtener detalles y soporte.
papelcuerda agregado en 2.8 de ansible.builtin Establece el rol del usuario. No hace nada cuando se usa con otras plataformas. Puede establecer múltiples roles usando la separación por comas. Para eliminar todos los roles, use role=''.Actualmente compatible con Illumos / Solaris.
seusercuerda agregado en 2.1 de ansible.builtin Opcionalmente establece el tipo de usuario (user_u) en sistemas habilitados para selinux.
cascaróncuerda Opcionalmente, configure el shell del usuario. En macOS, antes de Ansible 2.5, el shell predeterminado para los usuarios que no eran del sistema era /usr/bin/false. Desde Ansible 2.5, el shell predeterminado para usuarios que no son usuarios del sistema en macOS es /bin/bashConsulte las notas para obtener detalles sobre cómo otros sistemas operativos determinan el shell predeterminado mediante la herramienta subyacente.
esqueletocuerda agregado en 2.0 de ansible.builtin Opcionalmente, configure un directorio principal de esqueleto. create_home ¡opción!
ssh_key_bitsentero agregado en 0.9 de ansible.builtin Defecto:
“predeterminado establecido por ssh-keygen”
Opcionalmente, especifique el número de bits en la clave SSH para crear.
ssh_key_commentcuerda agregado en 0.9 de ansible.builtin Defecto:
“generado por ansible en $ HOSTNAME”
Opcionalmente, defina el comentario para la clave SSH.
ssh_key_filesendero agregado en 0.9 de ansible.builtin Opcionalmente, especifique el nombre de archivo de la clave SSH. Si se trata de un nombre de archivo relativo, será relativo al directorio de inicio del usuario. Este parámetro predeterminado es .ssh / id_rsa.
ssh_key_passphrasecuerda agregado en 0.9 de ansible.builtin Establezca una frase de contraseña para la clave SSH. Si no se proporciona una frase de contraseña, la clave SSH no tendrá una frase de contraseña predeterminada.
ssh_key_typecuerda agregado en 0.9 de ansible.builtin Defecto:
“rsa”
Opcionalmente, especifique el tipo de clave SSH a generar. Los tipos de clave SSH disponibles dependerán de la implementación presente en el host de destino.
estadocuerda
    Opciones:

  • ausente
  • regalo
Si la cuenta debe existir o no, tomar acción si el estado es diferente al que se indica.
sistemabooleano
    Opciones:

  • no
Al crear una cuenta state=present, estableciendo esto en yes convierte al usuario en una cuenta del sistema. Esta configuración no se puede cambiar en los usuarios existentes.
uidentero Opcionalmente establece el UID del usuario.
Actualiza contraseñacuerda agregado en 1.3 de ansible.builtin
    Opciones:

  • siempre
  • on_create
always actualizará las contraseñas si difieren.on_create solo establecerá la contraseña para los usuarios recién creados.

Notas

Nota

  • Existen requisitos específicos por plataforma sobre las utilidades de gestión de usuarios. Sin embargo, generalmente vienen preinstalados con el sistema y Ansible requerirá que estén presentes en tiempo de ejecución. Si no es así, se mostrará un mensaje de error descriptivo.
  • En las plataformas SunOS, el archivo de sombra se respalda automáticamente ya que este módulo lo edita directamente. En otras plataformas, el archivo de sombra está respaldado por las herramientas subyacentes utilizadas por este módulo.
  • En macOS, este módulo utiliza dscl para crear, modificar y eliminar cuentas. dseditgroup se utiliza para modificar la pertenencia a un grupo. Las cuentas se ocultan de la ventana de inicio de sesión modificando /Library/Preferences/com.apple.loginwindow.plist.
  • En FreeBSD, este módulo utiliza pw useradd y chpass crear, pw usermod y chpass Modificar, pw userdel retirar, pw lock para bloquear, y pw unlock para desbloquear cuentas.
  • En todas las demás plataformas, este módulo utiliza useradd crear, usermod modificar, y userdel para eliminar cuentas.
  • Apoyos check_mode.

Ver también

Ver también

ansible.posix.authorized_key

La documentación oficial sobre el ansible.posix.authorized_key módulo.

ansible.builtin.group

La documentación oficial sobre el ansible.builtin.group módulo.

ansible.windows.win_user

La documentación oficial sobre el ansible.windows.win_user módulo.

Ejemplos de

-name: Add the user 'johnd' with a specific uid and a primary group of 'admin'
  ansible.builtin.user:name: johnd
    comment: John Doe
    uid:1040group: admin

-name: Add the user 'james' with a bash shell, appending the group 'admins' and 'developers' to the user's groups
  ansible.builtin.user:name: james
    shell: /bin/bash
    groups: admins,developers
    append: yes

-name: Remove the user 'johnd'
  ansible.builtin.user:name: johnd
    state: absent
    remove: yes

-name: Create a 2048-bit SSH key for user jsmith in ~jsmith/.ssh/id_rsa
  ansible.builtin.user:name: jsmith
    generate_ssh_key: yes
    ssh_key_bits:2048ssh_key_file: .ssh/id_rsa

-name: Added a consultant whose account you want to expire
  ansible.builtin.user:name: james18
    shell: /bin/zsh
    groups: developers
    expires:1422403387-name: Starting at Ansible 2.6, modify user, remove expiry time
  ansible.builtin.user:name: james18
    expires:-1-name: Set maximum expiration date for password
  user:name: ram19
    password_expire_max:10-name: Set minimum expiration date for password
  user:name: pushkar15
    password_expire_min:5

Valores devueltos

Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:

Llave Devuelto Descripción
adjuntarbooleano Cuando el estado es present y el usuario existe Si agregar o no al usuario a los grupos.
Muestra:Cierto
comentariocuerda Cuando el usuario existe Sección de comentarios del archivo passwd, generalmente el nombre de usuario.
Muestra:Agente Smith
create_homebooleano Cuando el usuario no existe y no revisa el modo Ya sea para crear o no el directorio de inicio.
Muestra:Cierto
fuerzabooleano Cuando estado es absent y el usuario existe Si una cuenta de usuario se eliminó a la fuerza o no.
grupoentero Cuando el usuario existe ID de grupo de usuarios principal
Muestra:1001
gruposcuerda Cuando grupos no está vacío y estado es present Lista de grupos a los que pertenece el usuario.
Muestra:Chrony, apache
hogarcuerda Cuando estado es present Ruta al directorio de inicio del usuario.
Muestra:/ inicio / asmith
mudanza de casabooleano Cuando estado es present y el usuario existe Si mover o no un directorio de inicio existente.
nombrecuerda siempre Nombre de la cuenta de usuario.
Muestra:asmith
contraseñacuerda Cuando estado es present y contraseña no está vacío Valor enmascarado de la contraseña.
Muestra:NOT_LOGGING_PASSWORD
password_expire_maxentero Cuando el usuario existe Número máximo de días durante los cuales una contraseña es válida.
Muestra:20
password_expire_minentero Cuando el usuario existe Número mínimo de días entre el cambio de contraseña
Muestra:20
retirarbooleano Cuando estado es absent y el usuario existe Si eliminar o no la cuenta de usuario.
Muestra:Cierto
cascaróncuerda Cuando estado es present Shell de inicio de sesión de usuario.
Muestra:/ bin / bash
ssh_fingerprintcuerda Cuando generate_ssh_key es True Huella digital de la clave SSH generada.
Muestra:2048 SHA256: aYNHYcyVm87Igh0IMEDMbvW0QDlRQfE0aJugp684ko8 generado por ansible en el host (RSA)
ssh_key_filecuerda Cuando generate_ssh_key es True Ruta al archivo de clave privada SSH generado.
Muestra:/home/asmith/.ssh/id_rsa
ssh_public_keycuerda Cuando generate_ssh_key es True Archivo de clave pública SSH generado.
Muestra:‘Ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC95opt4SPEC06tOYsJQJIuN23BbLMGmYo8ysVZQc4h2DZE9ugbjWWGS1 / pweUGjVstgzMkBEeBCByaEf / RJKNecKRPeGd2Bw9DCj / bn5Z6rGfNENKBmo 618mUJBvdlEgea96QGjOwSB7 / gmonduC7gsWDMNcOdSE3wJMTim4lddiBx4RgC9yXsJ6Tkz9BHD73MXPpT5ETnse + A3fw3IGVSjaueVnlUyUmOBf7fzmZbhlFVXf2Zi2rFTXqvbdGHKkzpw1U8eB8xFPP7y d5u1u0e6Acju / 8AZ / l17IDFiLke5IzlqIMRTEbDwLNeO84YQKWTm9fODHzhYe0yvxqLiK07 ansible-generado en el host’
stderrcuerda Cuando stderr es devuelto por un comando que se ejecuta Error estándar al ejecutar comandos.
Muestra:Las ruedas de grupo no existen
stdoutcuerda Cuando la salida estándar es devuelta por el comando que se ejecuta Salida estándar de los comandos en ejecución.
sistemabooleano Cuando sistema se pasa al módulo y la cuenta no existe Si la cuenta es una cuenta del sistema o no.
Muestra:Cierto
uidentero Cuando uid se pasa al módulo ID de usuario de la cuenta de usuario.
Muestra:1044

Autores

  • Esteban Fromm (@sfromm)