/etc/nsswitch.conf文件无法正常工作

我有一个关于我的用户身份validation方式的小问题。

我的debian 7使用/etc/libnss-ldap.conf连接到LDAP服务器

我有一些本地用户和一些ldap用户。

在nsswitch.conf文件中,我希望用户首先在“文件”中search,而在“文件”中找不到“ldap”。

问题是对于做监视的本地用户(nagios),我的检查有一些超时。 当我尝试“suagios”时,需要很多时间!

当我尝试“strace su nios”时,我可以看到有很多对LDAP服务器的请求,为什么呢?

这里是nsswitch的内容:

passwd: files [SUCCESS=return] ldap group: files [SUCCESS=return] ldap shadow: files [SUCCESS=return] ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files 

netgroup:nis

我怀疑站在/etc/pam.d文件中的东西。 这里是一些文件的内容:

普通账户:

 account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so broken_shadow account [success=1 default=ignore] pam_ldap.so account requisite pam_deny.so account required pam_permit.so 

共AUTH:

 auth [success=2 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_ldap.so use_first_pass auth requisite pam_deny.so auth required pam_permit.so auth optional pam_mount.so auth optional pam_smbpass.so migrate 

常见的密码:

 password [success=2 default=ignore] pam_unix.so obscure sha512 password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass password requisite pam_deny.so password required pam_permit.so password optional pam_smbpass.so nullok use_authtok use_first_pass 

Thx很多提前

这将是值得使用strace和审查输出,以确定哪些数据库(passwd,组,其他)su是在进行LDAP查询时咨询。

听起来像是在searchLDAP目录来查找目标帐户所属的所有组。 解决方法是在nss_base_group中设置nss_base_group来减lesssearch空间。