分页: 1 / 1

【openldap用户认证服务器】如何避免root去服务器做认证

发表于 : 2020-01-17 11:34
jiandan23
发现一个奇怪的问题:某台服务器采用openldap server做用户认证,root绝对是本地账户,/etc/nsswitch也配置了先本地后 ldap认证。某天在网络断掉后(与openldap server断开了连接),在本地用su -切换到root时,会非常慢,看系统日志,报错如下:

Jan 16 21:47:17 node01 nslcd[11112]: [87b23f] <group/member="root"> ldap_result() timed out
Jan 16 21:47:17 node01 nslcd[11112]: [87b23f] <group/member="root"> failed to bind to LDAP server ldap://192.168.0.22: Can't contact
LDAP server: Transport endpoint is not connected
Jan 16 21:47:17 node01 nslcd[11112]: [87b23f] <group/member="root"> failed to bind to LDAP server ldap://192.168.0.21: Can't contact
LDAP server: Transport endpoint is not connected
Jan 16 21:47:17 node01 nslcd[11112]: [87b23f] <group/member="root"> no available LDAP server found, sleeping 1 seconds

之后它会每隔一秒尝试10几秒时间,然后才能成功。
有人知道这是什么原因吗?按照道理,root不是只要在本地做认证就可以了吗?

Re: 【openldap用户认证服务器】如何避免root去服务器做认证

发表于 : 2022-11-18 16:27
jiandan23
最近空闲了,又研究了下这个问题,有多种解决方案,以下对我有效:
/etc/nslcd.conf中设置:reconnect_retrytime=2,原先要等待10s的变成了2s。

另外,/etc/pam.d/system-auth和/etc/pam.d/password-auth中需要做以下修改:(本地用户的session不过pam_ldap.so)
session [success=1 default=ignore] pam_succeed_if.so uid < 500 quiet
session optional pam_ldap.so