Aquí hay un desglose de por qué sucede esto y qué está pasando realmente:
* Seguridad: Hacer eco de las contraseñas las harían visibles en la pantalla, donde cualquiera pudiera verlas, incluso fugazmente. Esto derrota el propósito de tener una contraseña. El enmascaramiento (o más bien, la * falta * de visibilidad) está diseñado para prevenir la superficie de los hombros y la exposición accidental.
* Mecanismo subyacente: Cuando un programa (como `sudo`,` passwd` o cualquier otro programa que requiera una contraseña) solicita entrada con un indicador de contraseña, el controlador terminal deshabilita el eco de los caracteres en la pantalla.
* Cómo funciona detrás de escena:
1. Llamadas del programa: El programa utiliza una llamada al sistema (que generalmente involucra la configuración de 'termios' en sistemas similares a Unix) para deshabilitar el eco.
2. El terminal responde: El terminal o pseudo-terminal interpreta esta instrucción y deja de mostrar lo que escribe.
3. Entrada aún capturada: Los caracteres que escribe * todavía están siendo capturados * por el programa. Simplemente no se están mostrando.
4. Procesos del programa: Una vez que presiona Enter, el programa recibe la cadena de contraseña completa y luego puede autenticarla.
Por qué parece que no está sucediendo nada:
Es desconcertante porque no recibes comentarios visuales. Estás escribiendo en lo que parece ser un vacío. Es perfectamente normal adivinar a sí mismo y preguntarse si está funcionando.
Implicaciones importantes y cosas para recordar:
* Escriba cuidadosamente: Como no puede ver lo que está escribiendo, tenga mucho cuidado para evitar errores tipográficos.
* No se asuste: Si cree que cometió un error, generalmente puede interrumpir el proceso (CTRL+C) y comenzar de nuevo.
* La longitud todavía importa: Aunque no puede verlo, el programa * está * realizando un seguimiento de la longitud de la entrada. Las contraseñas muy cortas o muy largas pueden indicar un problema.
* Es una práctica estándar: Este comportamiento es común en casi todos los sistemas y entornos operativos donde se ingresan contraseñas en la línea de comandos.
En resumen:el hecho de que no vea la contraseña que se escribe en la terminal es algo bueno. Es una característica de seguridad que evita que la contraseña se muestre en la pantalla.