PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : passwd



H a r a l d
24-02-2001, 09:09
hi !

ich möchte in einem scrip das password ändern.

wie heist das komando?

-!/bin/sh
passwd $username $pwd


????? wie kann ich das passwort als variable übergeben???

gruß

harald

SBär
25-02-2001, 20:53
Wenn ich mich recht entsinne sind die Kommandozeilenargumente (mit denen das Script aufgerufen wurde) mit $1, $2 usw. ansprechbar. Ich hoffe die Antwort paßt zu Deiner Frage. Ansonsten bitte mehr Details.

Gruß,
Sebastian

mightymike99
03-03-2001, 18:19
Hi,

soweit ich weiss kann mit passwd nicht direkt das passwort im Befehl mitunterbringen.

Ich glaube man muss es eingeben lassen und dann mit der internen Linuxfunktion crypt(manpage) verschluesseln. Die kann man aber mit der simplen Shellsprache nicht ausfuehren soweit ICH weiss.

MfG mightymike99

04-03-2001, 18:00
Hi,
ich verstehe Deine Frage nicht so ganz. Wozu möchtest Du das Paßwort ändern?
Oder geht es um eine Neuanlage eines Users?
Dann könntest Du ein leeres Paßwort einrichten und das System dazu bringen, das der User bei ersten Einloggen es ändern muß.

Für ein leeres Paßwort gibts eine Möglichkeit. Ich habe sie leider nicht hier und nicht im Kopf :-).

Wenn Du´s brauchst, dann schreib nochmal.
Grüße,
Werner

05-03-2001, 13:46
hi,

IMHO kann man passwd oder useradd bzw adduser das passwort nicht direkt uebergeben.
wenn du aber in deinem script passwd aufrufst, dann wirst du ganz normal nach passwort und bestaetigung gefragt.
falls das script automatisiert ueber cron oder so passwoerter selbststaendig aendern soll, dann geht das glaub ich nicht.

da musst du wohl perl oder sowas nehmen, da hab ich im web schon mal was gesehen (sendet dann glaub ich das passwort so, als ob es auf der konsole eigegeben wurde).

ciao,

ChakZul

07-03-2001, 17:27
Also in perl säh das ca. so aus:

#!/usr/bin/perl

$user="xy";
$oldpass="blabla";
$newpass="newblabla";

open(OdbsetupPipe,"| passwd $user")||die $_;
print OdbsetupPipe "y\n";
print OdbsetupPipe "$oldpass\n";
print OdbsetupPipe "$newpass\n";
print OdbsetupPipe "$newpass\n";
close(OdbsetupPipe);

habs jetzt zwar net probiert weil stress aber sollte laufen http://www.linuxforen.de/ubb/wink.gif