From a93156ca9d385302a8b2f8092c15a2ca47306910 Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Thu, 16 Aug 2012 23:45:14 +0200 Subject: [PATCH] don't fail to ask for a password if there is no TTY When running grml-debootrap over ssh like ssh root@grml grml-debootstrap ... the password promt for the root user would fail, as you cannot stty without a tty. The user should actually have called ssh -t root@grml grml-debootstrap ... which would have allocated a TTY and all would have worked. Display a warning to the user and fall back to displaying the entered password when he continues to use grml-debootstrap w/o a TTY. Closes: issue1200 --- chroot-script | 4 ++-- grml-debootstrap | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/chroot-script b/chroot-script index d3535b0..86f1535 100755 --- a/chroot-script +++ b/chroot-script @@ -55,9 +55,9 @@ stage() { askpass() { # read -s emulation for dash. result is in $resp. set -o noglob - stty -echo + [ -t 0 ] && stty -echo read resp - stty echo + [ -t 0 ] && stty echo set +o noglob } # }}} diff --git a/grml-debootstrap b/grml-debootstrap index 6b5fa17..cbd1938 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -730,6 +730,12 @@ else # if not running automatic installation display configuration and prompt fo [ -n "$VMSIZE" ] && echo " Using Virtual Disk file with size of ${VMSIZE}." fi + if [ ! -t 0 -a -z "$ROOTPASSWORD" -a -z "$NOPASSWORD" ] ; then + echo + echo " You do not have a TTY allocated, your password will be shown in" + echo " plaintext on the terminal! If you are using SSH, try its -t option!" + fi + echo echo " Important! Continuing will delete all data from ${TARGET}!" -- 2.1.4