Google搜查列

 

2008年2月18日 星期一

使用perl驗證系統身份

如果有要作跟系統的shadow密碼檔作驗證,可以使用Crypt::PasswdMD5套件幫忙的

要先安裝perl-Crypt-PasswdMD5

如果你的是RH或FC系列,可以使用YUM安裝

#yum install perl-Crypt-PasswdMD5

在使用前,請確認你有讀取shadow的權限

試用程式:
#!/usr/bin/perl

#getpw*();
use Crypt::PasswdMD5 qw(unix_md5_crypt);
print "輸入使用者:";
$user = <>;
chomp $user;
print "輸入密碼:";
$pass = <>;
chomp $pass;

$line = `cat /etc/shadow | grep $user`;
if($line eq ''){
print "沒有這使用者\n";}else{
@shadow = split(/:/,$line);
$passwd_unix = $shadow[1];
$key = substr($passwd_unix,3,8),"\n";
$passwd_perl = unix_md5_crypt($pass,$key),"\n";

print 'passwd_unix = ',$passwd_unix,"\n";
print 'passwd_perl = ',$passwd_perl,"\n";

if ($passwd_unix eq $passwd_perl){print "驗證成功\n";}else{print "驗證失敗\n";}
}

參考網站:http://blog.pixnet.net/gisanfu/post/8179025

沒有留言:

Google Analytics