PAM:如何在login时强制执行A​​D组成员身份

我们为所有用户(70%的Linux,30%的Windows)使用Active Directory(2003和2008)。 普通的用户身份validation正常。 我现在有一种情况,在特定的服务器上,我需要限制可以loginADS中特定组的成员的用户。 所以我创build了组,并添加了用户。然后我在pam_ldap.conf中设置

  pam_groupdb cn = <group>,ou =应用程序,dc = <domain>,dc = <tld> 

  pam_member_attribute memberOf 

但是,这似乎没有任何区别。 我停止nscd(以防万一),但我仍然可以使用不属于此组的成员的用户的凭据login。 有没有人有这方面的经验?

还有其他的解决方法,但它们相当丑陋,我宁愿不必使用它们(例如,通过在cron作业中通过ldapsearch提取所有用户,然后将它们放入允许的用户列表等中)。 哦,是的,我可以使用ldapsearch查看这个组的成员。 我可以看到单个用户的组成员身份,也使用ldapsearch。 我已经把该服务器上的sshddebugging模式,但日志没有透露任何有用的东西。 任何指针将不胜感激。

在我看来,你的设置有一个错字。 我相信,pam_groupdb应该是pam_groupdn。

从手册:

$ man pam_ldap 


pam_groupdn指定用户login授权成功所属的组的可分辨名称。

pam_member_attribute指定在testingpam_groupdn选项中指定的组的用户成员资格时使用的属性。