AIX中是否有一种方法可以使用C或Shell命令来验证给定的密码是否正确?
我想验证给定的密码是否正确,而不使用“ su”命令。我想使用C函数或某些系统命令在C代码中执行。
由于AIX不支持shadow.h,因此无法使用getspnam()
函数
答案 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,如果身份验证失败,则返回非零