5

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

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

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

4

3 回答 3

4

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

当您调用函数 authenticate('username','password') 时,请确保您也传递了适当的服务。比如 authenticate('username','password', 'passwd') 或者你可以在 /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

于 2010-05-03T04:25:21.513 回答
3

我有同样的问题根没有得到验证。这是修复。

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

#authenticate('username','password',service='system-auth')
于 2012-11-25T02:41:55.927 回答
0

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

验证('root','密码',服务='sshd')

于 2018-09-25T19:54:36.210 回答