PAM身份验证问题

时间:2010-04-30 18:56:38

标签: python security apache pam

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

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

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

3 个答案:

答案 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')