我设法安装了SSH + LDAP,而且我通过pam_groupdn来validation用户 – 如果用户在适当的组中,他可以login到服务器。
这是我的pam.d的一部分
account sufficient pam_ldap.so account sufficient pam_unix.so
是pam_ldap.conf的一部分
# Group to enforce membership of pam_groupdn cn=ldapclient,ou=group,dc=aaaa,dc=zzzz # Group member attribute pam_member_attribute memberUid
如果我禁用pam_unix.so一切都会好起来的。 如果他不在组中,用户将被拒绝。 但是我不能禁用pam_unix.so,因为如果LDAP服务器处于脱机状态,那么即使在本地login也会遇到严重的问题。
如果启用了pam_unix.so:
gigi@0's password: You must be a memberUid of cn=ldapclient,ou=group,dc=aaaa,dc=zzzz to login. Linux testing 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686 ....
即使他不在组中,也允许用户login。
我发现一些解决scheme/etc/security/access.conf但我想避免这一点。 任何帮助?
谢谢,马丁
我解决了它。 这个问题导致了nscdcaching守护进程! 我强烈build议在testing时卸载它。
我也遇到了同样的问题。 我解决了在“objectClass”属性上添加“shadowAccount”值。
现在用户在objectClass中有这些值:inetOrgPerson,posixAccount,shadowAccount
我离开了我的commom_account像这样:
帐户足够pam_ldap.so帐户所需的pam_unix.so
一切顺利!
达尼洛。