LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1428|回复: 2

ldap客户端认证问题

[复制链接]
发表于 2011-7-16 13:17:21 | 显示全部楼层 |阅读模式
我在CentOS5.5上面用openldap搭建了一个服务器,用作帐户管理,现在用debian访问是正常的,用redhat AS4.8和AS5.5访问有问题,具体情况是这样的:

1.debian客户端:
im:~# cat /etc/passwd | grep user01
im:~# getent passwd user01
user01:*:10020:10000:user01:/home/users/user01:/bin/sh
im:~# su - user01
user01@im:~$
# 没有延迟

2.redhat客户端:
[root@kvm1 ~]# cat /etc/passwd | grep user01
[root@kvm1 ~]# getent passwd user01
user01:*:10020:10000:user01:/home/users/user01:/bin/sh
[root@kvm1 ~]# su - user01
id: cannot find name for user ID 10020
-sh-3.2$
# 等待超过4分钟

3. centos服务端:
# tail -f /var/log/openldap.log
Jul 16 12:29:47 wldapserver slapd[14788]: conn=5 fd=12 ACCEPT from IP=172.16.20.200:47582 (IP=0.0.0.0:389)
Jul 16 12:29:47 wldapserver slapd[14788]: conn=5 op=0 STARTTLS
Jul 16 12:29:47 wldapserver slapd[14788]: conn=5 op=0 RESULT oid= err=0 text=
Jul 16 12:29:47 wldapserver slapd[14788]: conn=5 fd=12 closed (TLS negotiation failure)

4. redhat客户端使用ldapsearch -x -ZZ uid=user01命令查询很正常,我怀疑是与ldap相关的认证模块配置有问题,可是问题在哪里呢?

cat /etc/pam.d/login

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    include      system-auth
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session    optional     pam_keyinit.so force revoke
session    optional     pam_limits.so

cat /etc/pam.d/system-auth

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        sufficient    pam_ldap.so use_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient          pam_ldap.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

password    requisite     pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     required      pam_unix.so
session     optional      pam_ldap.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
发表于 2011-7-18 18:00:28 | 显示全部楼层
/etc/ldap.conf是控制nss_ldap和pam_ldap的文件,检查下它是否配置正确。
特别注意nss_base_passwd,nss_base_group, nss_base_shadow配置的DN是否正确。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-7-21 10:48:06 | 显示全部楼层
Post by jacuro;2144953
/etc/ldap.conf是控制nss_ldap和pam_ldap的文件,检查下它是否配置正确。
特别注意nss_base_passwd,nss_base_group, nss_base_shadow配置的DN是否正确。


的确如此,谢谢了。

我用
openssl s_client -connect ldap.servertest.com:636 -showcerts

ldapsearch -x -ZZ uid=user01
都很正常,就是
su - user01的时候慢得不行,看来ldap.conf控制了pam的行为,也不知道ldap  long的时候pam默认查找了哪个记录入口或者证书。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表