[no subject]
On Tue, Mar 23, 1999 at 01:49:35PM +0100, Frank Rosendahl wrote:
> Hey Leute,
>
> ich spiele hier gerade ein wenig mit der crypt-Funktion von Perl rum,
> wobei mir einige Fragen kommen.
>
> Ich w<FC>rde gerne ein Passwort schreiben, das genau so aussieht wie in
> der /etc/passwd, bzw. /etc/shadow, doch irgendwie will mir das nicht
> gelingen.
Ein Auszug aus meinem Script: (Wo ich dass Original herhab weiss ich leider
nicht mehr.
cp /etc/passwd /etc/passwd.bak/passwd_$date
mv /usr/people/$name/netscape/user /usr/people/$name/netscape/$name;
&set_auto_pass;
sub set_auto_pass{
# rename("/etc/passwd","/etc/passwd.bak/passwd.$date");
# $ascii_passwd = &pw_generate; # What the user must
typ
e
$epasswd = &pw_encrypt($ascii_passwd); # What goes in
/etc/pass
wd
open (SHIN, "< /etc/passwd.bak/passwd_$date" )|| die;
open (SHOUT, "> /etc/passwd" ) || die;
while (<SHIN>){
m/^([^:]*):[^:]*(:.*)$/;
# if (/^($name|$host)/){
if ($name eq $1){
s/^([^:]+:)[^:]*(:.*)$/$1$epasswd$2/;
print;
}
# else {
# print "!!!!! Passwort not changed";
# }
print SHOUT;
}
close SHIN;
close SHOUT;
# chmod(0400,'/etc/passwd','/etc/passwd.bak/passwd.$date');
}
#-----------------------------------------------------------------------------
# Returns its argument encrypted with a random salt.
#-----------------------------------------------------------------------------
sub pw_encrypt {
local($passwd) = @_;
local($ascii_salt, $randum_num, @passset, $epasswd);
@passset = ('a'..'k', 'm'..'z', 'A'..'N', 'P'..'Z', '2'..'9');
$ascii_salt = "";
for ($i = 0; $i < int(rand(100));$i++){
rand(100);
}
for ($i = 0; $i < 2; $i++) {
$randum_num = int(rand($#passset + 1));
$ascii_salt .= $passset[$randum_num];
}
#print $salt = $ascii_salt,"\n";
$epasswd = crypt($passwd, $ascii_salt);
return $epasswd
}
>
> Ich hab schon als Vergleich die man-Page zu crypt(3) aufgerufen, doch
> auch hier komm ich nicht weiter.
>
> Der Aufruf ist crypt TEXT, SALT - Dabei ist mir TEXT noch klar. Doch
> wie komme ich an SALT ran ???
Salt ist eine zweistellige Zufallszahl. (Salz in der Suppe)
>
> Wenn ich ein Passwort wie in der /etc/shadow kriegen will, dann mu<DF>
> SALT den beiden ersten Buchstaben des dort vorhandenen Passworts
> entsprechen. Aber das ist doch auch gecrypted ! Wie komm ich an diese
> zwei Buchstaben, wenn Sie noch nicht exsistieren ???
Der Eintrag ist in passwd und shadow meines Wissens der gleiche.
--
__________________________________________________________________
Lutz Mueller University of Wuppertal
(mueller@code.uni-wuppertal.de) Computational Design
http://www.code.uni-wuppertal.de Hofaue 35-39
http://wkw.kunst.uni-wuppertal.de/~mueller 42103 Wuppertal, Germany
___________________________________________________________________
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder: 661
Reply to: