bash passwort abfrage

Post Reply
Message
Author
hammerP

bash passwort abfrage

#1 Post by hammerP »

ich brauche eine einfache passwort abfrage für die bash. das passwort muss nicht irgendwie verschlüsselt sein. der zugang soll nur erschwert werden.

p.

Re: bash passwort abfrage

#2 Post by p. »

Was? Wie?

Jochen

Re: bash passwort abfrage

#3 Post by Jochen »

Ich denke, er meint folgendes:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/bin/bash

PASSWORD="geheim"

echo -n "Bitte Passwort eingeben: "

# Terminaleinstellungen merken & Ausgabe der eingegebenen Zeichen ausschalten
OLDSTTY=$(stty --save)
stty -echo

read PW

# Terminaleinstellungen restaurieren
stty "$OLDSTTY"

if [ "$PW" != "$PASSWORD" ] ; then
echo "Falsches Passwort."
exit 1
fi

echo "OK."

exit 0
</font><hr></pre></blockquote>

Oder?

Jochen

rossi

Re: bash passwort abfrage

#4 Post by rossi »

@Jochen: Warum die Terminaleinstellungen speichern/wiederherstellen ? Was spricht gegen ein einfaches

echo -n "Ihr Passwort bitte: "; read -s PW ?

ratte

Re: bash passwort abfrage

#5 Post by ratte »

weil read in der bash -s nicht kennt?

ratte

Jochen

Re: bash passwort abfrage

#6 Post by Jochen »

Öh... vielleicht weil mir eine Option "-s" zu read bis dato unbekannt war?!? <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Man lernt halt nie aus!
Wenn man also die bash verwendet, wie ich es auch im Skript per She-Bang angegeben habe, ist "read -s" sicherlich die einfachste Möglichkeit.

Wer dagegen auf Portabilität Wert legt (legen muss), ersetzt <pre>OLDSTTY=$(stty --save)</pre> durch <pre>OLDSTTY=`stty -g`</pre> und hat ein einwandfreies Skript, das so unter sh/bash/ksh/zsh läuft.

Jochen

hammerP

Re: bash passwort abfrage

#7 Post by hammerP »

danke jungs. klappt wunderbar !

rossi

Re: bash passwort abfrage

#8 Post by rossi »

@ratte: In der sh kennt "read" kein "-s". Denke, war ein Typo.

Meine Fragte war eigentlich, was der "tty Kram" soll. Im Nachhinein vermutlich genau das, was "-s" macht, die Passworteingabe "verstecken". War mir vorher aber nicht klar; das "-s" ist eigentlich mehr so mit reingerutscht.

Post Reply