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