Incidencia #479 (closed Corrección: Resuelto)

Abierto hace 6 años

Última modificación 5 años

Canaima Instalador, Los campos no están bien validados.

Informado por: erickcion Propietario: willicab
Prioridad: Muy Alta Hito: canaima-popular-3.1~estable
Componente: Canaima Popular Versión: 3.1
Gravedad: Muy grave Palabras clave: canaima, error, instalador
Cc: Asignar A:

Descripción

Al escribir los datos de configuración del usuario, clave y nombre del equipo éstos no están totalmente validados, permiten el uso de espacios y caracteres especiales en campos en los que no deberían ser permitidos.

Pasos para reproducir el error

  • Abrir el instalador.
  • Seguir los pasos hasta llegar a la configuración de usuario y claves.
  • Escribir un usuario (login) que tenga espacios en blanco y/o caracteres especiales.
  • Escribir un nombre de máquina muy largo, que tenga espacios en blanco y caracteres especiales.
  • Hacer clic en el botón Adelante para llegar a la pantalla de confirmación.

Resultado obtenido

  • Pasa a la pantalla de confirmación de los datos.
  • No indica que haya errores en el nombre de usuario.
  • No indica que haya errores en el nombre de la maquina.
  • Permite continuar al proceso de instalación.

Resultado esperado

  • Indicar al usuario que el nombre de usuario es inválido.
  • Indicar que el nombre del host tiene un formato incorrecto.
  • Mostrar los valores válidos para los campos en conflicto.
  • Impedir continuar con el proceso de instalación.

Adjuntos

paso1.jpg (55.9 KB) - añadido por erickcion hace 6 años.
Paso 1: Escribiendo datos con valores inválidos.
paso2.jpg (55.9 KB) - añadido por erickcion hace 6 años.
Paso 2: Campos inválidos aceptados.

Historial de cambios

Cambiado el 6 años por erickcion

Paso 1: Escribiendo datos con valores inválidos.

Cambiado el 6 años por erickcion

Paso 2: Campos inválidos aceptados.

comment:1 Cambiado el 6 años por erickcion

Adjunto las imágenes de ejemplo para este caso:

Al hacer clic en avanzar el instalador acepta los valores e imprimiendo esto:

{'metodo': 'todo', 'tipo': 'particion_1', 'usuario': '\xc2\xa1ese pepe! que m\xc3\xa1s?', 'passroot2': 'hola mundo', 'passuser2': 'viva pepe', 'disco': '/dev/sda', 'teclado': 'latam', 'passroot': 'hola mundo', 'inicio': 32, 'nombre': 'Se\xc3\xb1or Pepe', 'passuser': 'viva pepe', 'fin': '8589935.0', 'maquina': '\xc2\xbfpara que servira este campo? si yo fuera estidiao lo saber\xc3\xada'}

Una vez comienza el proceso de instalación el proceso continúa normalmente casi hasta el final y presenta esta salida en la consola:

Usage: useradd [options] LOGIN

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
adduser: Sólo se permiten uno o dos nombres.
chpasswd: (user ¡ese pepe! que más?) pam_chauthtok() failed, error:
Error de manipulación del testigo de autenticación
chpasswd: (line 1, user ¡ese pepe! que más?) password not changed

comment:2 Cambiado el 6 años por erickcion

Valores Permitidos

Investigando encontré los siguientes valores permitidios para:

Nombres de Usuario

Si le pasamos valores erroneos al comando adduser nos responderá con esta información:

Los nombres de usuario deberían estar formados sólo por letras, números, 
subrayados, puntos y signos y guiones y no deberían empezar con un guión
(tal y como lo define el estándar del IEEE 1003.1-2001) para evitar problemas.
Se permite «$» al final de un nombre de usuario por compatibilidad con las 
cuentas de equipo de Samba

Nombres de Máquina

Los nombres de maquinas se refieren a nombres de host (hostnames), para los cuales son válidas las siguientes reglas:

  • Un nombre de host está compuesto por etiquetas concatenadas con puntos (.) ejemplo:
    • canaima.softwarelibre.gob.ve
  • Cada etiqueta puede tener minimo 1 caracter y máximo 63.
  • El nombre completo del host (incluyendo los puntos de concatenación) solo puede tener máximo 255 caracteres.
  • El nombre del host solo puede tener:
    • Letras ASCII de la 'a' a la 'z' (Insensible a mayúsculas).
    • Números del 0 al 9.
    • Guiones (-).
  • Fuente: http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names

comment:3 Cambiado el 6 años por willicab

  • Estado cambiado de new to accepted

comment:4 Cambiado el 6 años por willicab

  • Estado cambiado de accepted to resuelta
  • Resolución establecido a Fijada

comment:5 Cambiado el 6 años por willicab

  • Estado cambiado de resuelta to revision

comment:6 Cambiado el 6 años por HuntingBears

  • Hito cambiado de canaima-popular-3.1~VC2 to canaima-popular-3.1~estable

comment:7 Cambiado el 6 años por HuntingBears

  • Estado cambiado de revision to assigned

Estos cambios fueron implementados durante la última reestructuración mayor del instalador. Por acá algunos de los commits más representativos:

https://gitorious.org/canaima-gnu-linux/canaima-instalador/commit/3124084c29f49468c513d099ec6d36c8a3368ac9
https://gitorious.org/canaima-gnu-linux/canaima-instalador/commit/62653d47adc0ebbab7ed2a567a0909b9922e436a

Se estará informando de cómo corregir este error lo más pronto posible.

~Luis

comment:8 Cambiado el 5 años por erickcion

  • Estado cambiado de assigned to resuelta

comment:9 Cambiado el 5 años por erickcion

  • Estado cambiado de resuelta to closed
Nota: Vea TracTickets para ayuda en el uso de incidencias.