验证AIX中的密码

时间:2019-01-04 08:51:26

标签: unix cryptography passwords aix

AIX中是否有一种方法可以使用C或Shell命令来验证给定的密码是否正确?

我想验证给定的密码是否正确,而不使用“ su”命令。我想使用C函数或某些系统命令在C代码中执行。

由于AIX不支持shadow.h,因此无法使用getspnam()函数

1 个答案:

答案 0 :(得分:1)

下面的@Lorinczy评论中的C代码可验证用户的密码

#include <usersec.h>
int main(int argc, char* argv[]) {
    char *authmsg;
    int authsuccess;
    int reenter = 0;
    authsuccess = (authenticate(argv[1],argv[2],&reenter,&authmsg) == 0);
    printf("Result: %d \n", authsuccess);
    return(authsuccess);
}

传递用户名和密码作为参数。如果成功,则返回0,如果身份验证失败,则返回非零