bash: come nascondere il testo digitato in una console

Vi siete mai chiesti per quale motivo non compare la password che viene digitata al login? E soprattutto come fare un "trucchetto" del genere?

In bash si usa il comando read per leggere gli input da tastiera. Ad esempio lo si fa ogni qualvota è necessaria la conferma per una certa operazione. Normalmente quello che viene digitato dall'utente viene stampato a video. Nel caso di una password però la stampa a video è decisamente sconsigliata.

$TIMELIMIT=60 #(secondi)
echo "Inserisci la password per decifrare i dischi:"
read -t $TIMELIMIT PWD <&1

Quello che viene digitato dall'utente finisce nella variabile PWD

Il metodo con il quale si rende invisibile il testo digitato è semplice: viene inibita la funzione di echo nel terminale che è la responsabile della stampa a video. Ecco il codice:

echo "Inserisci la password per decifrare i dischi:"
#non mostro la pwd che viene digitata

#salvo i parametri del terminale
stty_orig=`stty -g` 

#inibisco la funzione di echo
stty -echo 

#attendo la digitazione della password e la salvo in PWD
read -t $TIMELIMIT PWD <&1  

#ripristino i parametri del terminale
stty $stty_orig  

Commenti

Discount EasyTone shoes here.

Discount EasyTone shoes here. Reebok EasyTone wholesale. Reebok Easy Tone on sale.

Fitness shoes of MBT and

Fitness shoes of MBT and Vibram Five Fingers are collected at our website.on sale. MBT Shoes Clearance. You will find high-quality brand shoes at low prices.

UGG is the most popular

UGG is the most popular women's sheepskin boot.You will find the bestUgg Boots here at best price.Ugg Boots Sale have highly praise!

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Elementi HTML permessi: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.
  • Internal paths in double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or relative path.

Ulteriori informazioni sulle opzioni di formattazione

CAPTCHA
Questa domanda serve per verificare che tu sia un visitatore umano (non un computer) e per prevenire lo spam
Image CAPTCHA
Scrivi ció che vedi nella immagine.