在 AIX 中验证密码

Verify the password in AIX

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

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

由于AIX不支持shadow.h,我无法使用getspnam()功能

下面@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);
}

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