adfinis-sygroup.users
usuarios
Este rol configura las cuentas de usuario de clientes y de Adfinis.
Requisitos
Este rol asume que hay un usuario inicial no raíz con permisos de sudo
presente en el sistema ({{users_default_user}}
, ver Variables de Rol más abajo).
Ese usuario se utiliza para la configuración inicial de cuentas de usuario y luego se elimina. La eliminación ocurre en la última tarea de este rol (por lo que una ejecución inicial funcionará bien, pero si se repite, el inicio de sesión fallará).
En un libro de jugadas (o en una serie de libros de jugadas), se recomienda aplicar este rol en dos variantes:
La primera vez, aplica con
remote_user: {{users_default_user}}
.Después de eso, aplica con el usuario previsto (ya sea la cuenta personal o
root
, si está permitido).
Se recomienda mantener un libro de jugadas/juego para la configuración inicial, y un libro de jugadas/juego para la gestión continua.
Dependencias del Rol
(ninguna)
Variables del Rol
Obligatorias
users_root_password_salt
(cadena, por defecto: no establecida):
Sal que se usará para hashear la contraseña de root.
Nota: Solo se requiere siusers_root_password
está configurado yusers_root_password_is_hashed
es falso.users_customer_group
(cadena):
Nombre del grupo del sistema al que se añaden todas las cuentas de usuario de clientes.
Nota: Solo se requiere siusers_customer
no está vacío.
Opcionales
users_root_password
(cadena, por defecto: no establecida):
Si no se establece, la contraseña de root no se cambia.
Si se establece yusers_root_password_is_hashed
es falso, esta es la contraseña en texto claro, yusers_root_password_salt
también debe estar establecido.
Si se establece yusers_root_password_is_hashed
es verdadero, se asume que es una contraseña hasheada (como produce [ansible.builtin.password_hash
][ansible:filter:password_hash]).users_root_password_is_hashed
(booleano, por defecto:false
):
Si se establece entrue
, se asume queusers_root_password
ya ha sido hasheada (en este caso,users_root_password_salt
no es necesario).users_root_authorized_keys
(lista, por defecto:[]
):
Claves públicas SSH que se autorizarán para iniciar sesión comoroot
.
Cada elemento de la lista es un objeto con las siguientes propiedades:key
(cadena, obligatoria):
Los datos de la clave.comment
(cadena, opcional, por defecto: no establecida):
Comentario, añadido a la línea de la clave (usualmenteusuario@host
).description
(cadena, opcional, por defecto: no establecida):
Descripción legible por humanos que se coloca como comentario en el archivoauthorized_keys
sobre la línea de la clave.options
(cadena, opcional, por defecto: no establecida):
Cadena de opciones de clave que se añade al principio de la línea de la clave.
users_adfinis
(lista, por defecto:[]
):
Cuentas de usuario de Adfinis que se configurarán. Cada usuario será añadido al grupo del sistema{{users_adfinis_group}}
. En cambio, cada usuario existente no del sistema en ese grupo que no esté listado en esta variable será eliminado.
Cada elemento de la lista es un objeto con las siguientes propiedades:username
(cadena, obligatoria):
Nombre de la cuenta de usuario.authorized_keys
(lista, por defecto:[]
):
Claves públicas SSH que se autorizarán para iniciar sesión comoroot
.
Cada elemento de la lista es un objeto con propiedades como se describe enusers_root_authorized_keys
.
users_adfinis_group
(cadena, por defecto:adfinis
):
Nombre del grupo del sistema al que se añaden todas las cuentas de usuario de Adfinis.users_adfinis_ssh_pubkey_options
(cadena, por defecto: no establecida):
Cadena de opciones de clave que se añade al principio de todas las líneas de clave.users_adfinis_homedir_mode
(modo de permiso de archivo, por defecto:0700
):
Modo de permisos de archivo para el directorio personal de cada usuario de Adfinis.
Nota: Debido a un problema histórico con Jinja2, la representación octal del modo debe ser pasada como cadena (para asegurar que no se transforme incorrectamente), o [esta opción de Ansible][ansible:vars:default_jinja2_native] debe estar establecida en verdadero.users_adfinis_unrestricted_sudo
(booleano, por defecto:true
):
Si los usuarios de Adfinis tienen o no permisos desudo
sin restricciones.users_adfinis_user_remove_home
(booleano, por defecto:false
):
Si se debe eliminar el directorio personal al mismo tiempo que se elimina una cuenta de Adfinis no listada.users_customer
(lista, por defecto:[]
):
Cuentas de usuario de Adfinis que se configurarán. Cada usuario será añadido al grupo del sistema{{users_customer_group}}
.
Cada elemento de la lista es un objeto con propiedades como se describe enusers_adfinis
.users_customer_homedir_mode
(modo de permiso de archivo, por defecto:0755
):
Modo de permisos de archivo para el directorio personal de cada usuario cliente.
El valor por defecto lo mantiene legible para todos, de modo que los clientes puedan usarsudo -u
para ejecutar comandos como otros usuarios y aún pasar archivos en su directorio personal.
Nota: Debido a un problema histórico con Jinja2, la representación octal del modo debe ser pasada como cadena (para asegurar que no se transforme incorrectamente), o [esta opción de Ansible][ansible:vars:default_jinja2_native] debe estar establecida en verdadero.users_customer_unrestricted_sudo
(booleano, por defecto:false
):
Si los usuarios clientes tienen o no permisos desudo
sin restricciones.users_default_user
(cadena, por defecto:adfinis
):
Nombre de la cuenta de usuario no raíz existente en el sistema, que será eliminada.users_default_user_remove_home
(booleano, por defecto:false
):
Si se debe eliminar también el directorio personal de la cuenta de usuario no raíz existente.
Etiquetas del Rol
init
: Igual querole::users:root
yrole::users:adfinis
combinados.role::users
: Todas las tareas en este rol.role::users:root
: Todas las tareas que configuran la cuenta de usuario root.role::users:adfinis
: Todas las tareas que configuran las cuentas de usuario de Adfinis.role::users:adfinis:create
: Todas las tareas que configuran las cuentas de usuario de Adfinis (sin eliminar).role::users:adfinis:delete
: Todas las tareas que eliminan cuentas de usuario de Adfinis excesivas.role::users:customer
: Todas las tareas que configuran cuentas de usuario de clientes.role::users:default
: Todas las tareas que limpian la cuenta de usuario predeterminada.
Política de Soporte
Solo se mantiene y apoya la última versión (ver la página de Etiquetas).
Una vez que se realiza una nueva versión, la rama de la versión anterior ya no recibe correcciones de errores.
Create and remove posix users and groups, add or remove ssh keys
ansible-galaxy install adfinis-sygroup.users