[LUG.ro] Como hacer para no mostrar una password por pantalla en un script de bash

Sebastián D. Criado lugro@lugro.org.ar
Thu, 22 Apr 2004 17:04:47 -0300


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Tal vez les haya pasado alguna vez que tenían la necesidad de que algún script 
en bash necesitara el ingreso de una password.
Este fue el problema que se le presentaba a un amigo que me pregunto como 
hacer y como un curioso me puse a investigarlo.

El problema aparece cuando esta password ingresada es vista por la pantalla 
usando el método "read".
Es posible a partir del programa stty el ocultar la password cuando se 
ingresa, metiéndola en una variable de entorno, para despues usarla.

El programa stty sirve para mostrar o cambiar el seteo de la terminal.

Si se es muy paranoico, podrán setear la variable de entorno a "0" 
inmediatamente despues de usarla.

La sintaxis de ejemplo a usar seria la siguiente

#!/bin/bash
#Primero guardamos en una variable el seteo de la terminal
	STTY_ORIG=`stty -g`	
#Sacamos el Eco de la consola, con lo cual no se ve lo que ingresamos
	stty -echo
#Leamos la password y guardemosla en una variable
	read SECRET
#Ponermo la terminal en el estado anterior
	stty $STTY_ORIG
#Mostrar contenido de la variable
	$echo $SECRET
	exit(0)


bueno, enjoy


Saludos.-
- -- 
- --
Sebastián D. Criado - scriado@ciudad.com.ar
L.U.G.R.o - http://www.lugro.org.ar
GNU/Linux Registered User # 146768
- -------------------------------------------------------------------
"Si el Universo fuera un programa estaría hecho en C, y correría sobre
un sistema UNIX"
                                                   Anónimo.

			
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAiCVf8hmHQ8ZCg0IRAr35AKCSOg/xq/LVPncA3gIiqTKfvj9UnQCfU590
odsegQKycw6PMq1T1iiw6oI=
=AVI6
-----END PGP SIGNATURE-----