linux-l: crypt() problem
JSC
schlegel at lnx01.tfh-berlin.de
So Apr 25 18:00:18 CEST 1999
hallo,
das folgende problem entsteht auf ein und demselben rechner.
ich erzeuge mir ein passwort aus 3 zeichen: key
und einem definierten salt: rt
perl -e 'print crypt($ARGV[0],$ARGV[1]),"\n"' key rt
=> rtsIDodDuGqhM
das ergebnis trage ich in eine radiusd config und in
/etc/passwd ein.
der radiusd kann mit diesem passwort arbeiten:
code:
#define __USE_XOPEN
#include <unistd.h>
...strcmp(a,crypt(real,a))...
dasselbe passwort via /etc/passwd auf redhat 3.0.4
ist unbrauchbar. folgende perl-routine errechnet
ploetzlich ein ganz anderes passwort:
#!/usr/bin/perl
print "Username: ";
$a = <STDIN>;
chop $a;
if( !open(FD,"grep ^${a}: /etc/passwd |") ){
print "scheisse.\n";
exit(1);
}
if( <FD> =~ /^[^:]+:([^:]+):/ ){
$b = $1;
}
print "Klartextpasswort: ";
$c = <STDIN>;
print "aus der passwd: $b \n";
print "neu gecryptet: ", crypt("$c", substr($b,0,2)), "\n";
aufruf und output:
[/root]# ./chkpass.pl
Username: jsc
Klartextpasswort: key
aus der passwd: rtsIDodDuGqhM
neu gecryptet: rt12AYThF6Was
warum, und wo ist mein denkfehler ?????????????????????
phaenomen 2: auf demselben rechner tritt dieses problem
mit einem 8 zeichen langen passwort nicht auf.
confused
JSC
--
--------------------------------------------------------------
| Jens Schlegel |
| TFH Berlin email: schlegel at tfh-berlin.de |
--------------------------------------------------------------
Mehr Informationen über die Mailingliste linux-l