我正在使用此模块使用pam进行身份验证: http://code.google.com/p/web2py/source/browse/gluon/contrib/pam.py
我可以调用authenticate('username','password')并返回True / False。它适用于任何“用户名”但“root”。我的猜测是PAM中存在安全限制,不允许检查root密码。
我需要能够检查root密码。有什么我可以在pam.conf或其他地方更改以删除此限制吗?
答案 0 :(得分: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
答案 1 :(得分:3)
我有同样的问题root没有得到身份验证。这是修复
如果您使用服务'login',它将不适用于root。使用,
#authenticate('username','password',service='system-auth')
答案 2 :(得分:0)
如果运行ssh服务器且应为root用户运行的系统,则可以使用sshd配置。
authenticate('root','password',service ='sshd')