gpt4 book ai didi

linux - 在 Linux 中使用 PAM 进行身份验证。为什么某些用户可能无法运行?

转载 作者:太空宇宙 更新时间:2023-11-04 04:27:03 25 4
gpt4 key购买 nike

我编写了一个简单的应用程序,以常见的方式使用 PAM 对用户进行身份验证:pam_start()pam_authenticate() + 我自己的对话函数 + pam_end()

如果应用程序在正在检查凭据的用户下运行,则身份验证成功。否则,如果从用户 A 运行应用程序来检查用户 B 的凭据,则身份验证将失败。 (

我的问题:为什么?作为传递给 pam_start() 的服务名称,我还尝试了 login 以及 passwd。什么也没有变。去哪个方向去调试问题呢?或者我可能应该使用另一个 pam 服务来执行该任务?

附:第二种情况下的用户“A”是没有密码和/bin/false shell 的用户。

最佳答案

您如何检查“凭据”?是否正在读取某些文件?用户 A 可以读取该文件吗?

传递给 pam_start 的服务名称不会影响进程可以执行的操作。请注意,需要执行类似操作的程序(例如 su 或 passwd)实际上是 setuid 程序。

此外,请注意不要允许用户 A 冒充用户 B,从而在您的应用程序/模块中创建安全漏洞。

关于linux - 在 Linux 中使用 PAM 进行身份验证。为什么某些用户可能无法运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7886786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com