当前位置: 技术问答>linux和unix
怎样验证用户和口令?
来源: 互联网 发布时间:2015-09-06
本文导语: 我想利用PAM来验证用户和口令,就是和通常的登陆界面一样,谢谢! | man login | 直接跳过系统的检测 打开 shadow 文件 fgets(line_buf, 1024, oldfp);//oldfp shadow文件句柄 buf=line_buf;...
我想利用PAM来验证用户和口令,就是和通常的登陆界面一样,谢谢!
|
man login
|
直接跳过系统的检测
打开 shadow 文件
fgets(line_buf, 1024, oldfp);//oldfp shadow文件句柄
buf=line_buf;
if( strlen(line_buf) == 0 ) break;
fpart=strsep(&buf, ":");
passwd=strsep(&buf, ":");
if( memcmp(username, fpart, strlen(username)) == 0 )
{
...
memcpy(passwd_old_tmp, passwd, 12);
encryptpass_old = crypt(passwd_old, passwd_old_tmp);
if(memcmp(encryptpass_old, passwd, min(strlen(passwd),34)) == 0)
{
//ok
}
else
{
//fail
}
...
}
打开 shadow 文件
fgets(line_buf, 1024, oldfp);//oldfp shadow文件句柄
buf=line_buf;
if( strlen(line_buf) == 0 ) break;
fpart=strsep(&buf, ":");
passwd=strsep(&buf, ":");
if( memcmp(username, fpart, strlen(username)) == 0 )
{
...
memcpy(passwd_old_tmp, passwd, 12);
encryptpass_old = crypt(passwd_old, passwd_old_tmp);
if(memcmp(encryptpass_old, passwd, min(strlen(passwd),34)) == 0)
{
//ok
}
else
{
//fail
}
...
}