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

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

我对用户身份验证的方式有点问题。

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

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

在 nsswitch.conf 文件中,我希望用户首先在“文件”中搜索,如果在“文件”中找不到,则仅在“ldap”中搜索。

问题是,对于执行监控的本地用户 (nagios),我的检查出现了一些超时。当我尝试“su nagios”时,它花费了太多时间!

当我尝试“strace su nagios”时,我可以看到对 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

网络组: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    [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

提前致谢

答案1

值得使用strace和检查输出来确定 su 在进行 LDAP 查找时正在查阅哪个数据库(密码、组、其他)。

听起来它正在搜索 LDAP 目录以查找目标帐户所属的所有组。解决方案是设置nss_base_group/etc/libnss-ldap.conf减少搜索空间。

相关内容