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

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
jiandan23
帖子: 86
注册时间: 2010-12-17 22:31
系统: Mint 19.2

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

#1

帖子 jiandan23 » 2020-01-17 11:34

发现一个奇怪的问题:某台服务器采用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不是只要在本地做认证就可以了吗?
头像
jiandan23
帖子: 86
注册时间: 2010-12-17 22:31
系统: Mint 19.2

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

#2

帖子 jiandan23 » 2022-11-18 16:27

最近空闲了,又研究了下这个问题,有多种解决方案,以下对我有效:
/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
回复