Re: passwd-Abfrage

2006-01-24 Diskussionsfäden Michelle Konzack
Am 2006-01-17 13:17:52, schrieb lars behrens:
> hallo, liste,

> /usr/bin/passwd $LOGIN || echo "Passwortfehler! Bitte Passwort erneut 
> eingeben: " || /usr/bin/passwd $LOGIN

if passwd ; then

Dein_auszufuehrendes_script

else
echo "war wohl nichts!"
fi

Greetings
Michelle Konzack
Systemadministrator
Tamay Dogan Network
Debian GNU/Linux Consultant


-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
# Debian GNU/Linux Consultant #
Michelle Konzack   Apt. 917  ICQ #328449886
   50, rue de Soultz MSM LinuxMichi
0033/3/8845235667100 Strasbourg/France   IRC #Debian (irc.icq.com)


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: passwd-Abfrage

2006-01-17 Diskussionsfäden Gerhard Brauer
Gruesse!
* lars behrens <[EMAIL PROTECTED]> schrieb am [17.01.06 13:17]:
> 
> ich habe mir ein script zusammengebastelt, welches den namen und das passwort 
> für neue Emailkonten 
> auf unserem Mailserver abfragt, die entsprechenden Maildir-Verzeichnisse 
> anlegt und dem User eine 
> Bestätigungsmail zuschickt - klappt wunderbar!
> 
> nun habe ich das problem,, dass man sich beim eingeben des passworts ja auch 
> gerne mal vertippt - 
> passwd echot dann zwar:
> 
> Sorry, passwords do not match
> passwd: Authentication information cannot be recovered
> 
> aber das script läuft munter weiter.

Du definierst in deinen und/oder Konstrukten keine Abbruchbedingung noch
fragst du rekursiv die Bedingungen ab. Skripte werden aber nun
sequentiell abgearbeitet.

Da man sich beim Eintippen des Passworts ja durchaus auch mehrmals
vertippen kann würde ich so etwas in eine Schleife packen und *solange*
ausführen bis ein Erfolg auftritt (oder nach einer bestimmten Anzahl
Fehlversuche abbrechen).

Nutze dazu die Rückgabewerte von passwd.
passwd gibt:
0 zurück bei Erfolg
10 z.B. bei falschem Passwort
!0 bei anderen Mißerfolgen

Auswerten kannst du das in der bash mit der Variable $?
Zum interaktiven Testen (auch in der bash) einfach mal passwd mit
verschiedenem Verhalten starten und nach der Ausführung sofort ein:
echo $?
Dann siehst du, was passwd jeweils zurückgibt.

Das halte ich für die sauberste Methode. Implementieren kannst du es
sicher selbst. Wenn nicht, melde dich nochmal.

> lars

Gruß
Gerhard
-- 
Wer mich mag kann mit mir machen was ich will...



Re: passwd-Abfrage

2006-01-17 Diskussionsfäden Christian Frommeyer
Am Dienstag 17 Januar 2006 13:17 schrieb lars behrens:
> Benutze ich && :
>
> /usr/bin/passwd $LOGIN || echo "Passwortfehler! Bitte Passwort erneut
> eingeben: " && /usr/bin/passwd $LOGIN
>
> wird das Passwort _immer_ doppelt abgefragt.

Ich würde das Problem in der Klammerung vermuten. echo sollte ja immer 
"0" zurückgeben. Dann bekommt man bei (passwd || 1) && passwd immer 2 
mal die Frage nach dem Passwort.

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon