PAM 身份验证问题

Posted

技术标签:

【中文标题】PAM 身份验证问题【英文标题】:PAM authentication problem 【发布时间】:2011-02-14 08:56:01 【问题描述】:

我正在使用此模块通过 pam 进行身份验证: http://code.google.com/p/web2py/source/browse/gluon/contrib/pam.py

我可以调用 authenticate('username','password') 并返回 True/False。它适用于除“root”以外的任何“用户名”。我的猜测是 PAM 中有一个安全限制,不允许检查 root 密码。

我需要能够检查 root 密码。我可以在 pam.conf 或其他地方更改什么来消除此限制吗?

【问题讨论】:

【参考方案1】:

我找到了您问题的答案,问题出在默认服务中。

当您调用函数 authenticate('username','password') 时,请确保您也传递了适当的服务。 像验证('用户名','密码','密码') 或者您可以在 /etc/pam.d/ 下添加自定义配置

这是来自 webmin 项目的示例

#%PAM-1.0
auth    required    pam_unix.so nullok
account required    pam_unix.so
session required    pam_unix.so

在 /etc/pam.d/ 下的文件中写入前面的行,例如将其命名为“myconfig”,然后将其名称传递给函数,它会起作用(它对我有用):D

【讨论】:

【参考方案2】:

我遇到了同样的问题,root 没有通过身份验证。这是解决方法。

如果您使用“登录”服务,它不适用于 root。使用,

#authenticate('username','password',service='system-auth')

【讨论】:

谢谢,它对我有用,我们的身份验证不是基于本地文件。【参考方案3】:

如果它是一个运行 ssh 服务器的系统并且应该为 root 工作,你可以使用 sshd 配置。

认证('root','password',service='sshd')

【讨论】:

以上是关于PAM 身份验证问题的主要内容,如果未能解决你的问题,请参考以下文章

PAM“pam_unix.so”身份验证有时会失败

Python PAM 非交互式身份验证

psql:致命:用户的 PAM 身份验证失败

Linux服务器安全策略配置-PAM身份验证模块

MariaDB LDAP PAM 身份验证

pam_tally2身份验证模块