我编写了一个简单的应用程序来使用 PAM 以常用方式验证用户身份:pam_start()
, pam_authenticate()
+ 我自己的对话功能 + pam_end()
.
如果应用程序在正在检查凭据的用户下运行,则身份验证成功。否则,如果从 user 运行应用程序A
以检查 user 的凭据B
,则身份验证失败。(
我的问题:为什么?作为传递给pam_start()
我的服务名称,我也尝试login
过passwd
. 什么也没有变。去哪个方向调试问题?或者可能我应该使用另一个 pam 服务来执行任务?
ps user 'A' 在第二种情况下是没有密码和 /bin/false shell 的用户。