接着提示输入密码。输入userPassword的密码回车,所有信息就都出来了。
[root@mail openldap]# ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts;
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#
#
dn:
namingContexts: dc=example,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
3)安装openLDAP GUI管理客户端
3.1)phpLDAPadmin的安装和配置
下载最新版本的phpLDAPadmin
[root@mail openldap]# tar -zvxf phpldapadmin-1.1.0-alpha4.tar.gz
[root@mail openldap]# chown -R apache.apache phpldapadmin-1.1.0-alpha4
[root@mail openldap]# cd phpldapadmin-1.1.0-alpha4/config/
[root@mail config]# cp config.php.example config.php
[root@mail config]# vi config.php
// $config->custom->appearance['language'] = 'auto';
$config->custom->appearance['language'] = 'zh_CN';
3.2)lam (LDAP Account Manager)的安装和配置
ldap-account-manager-2.0.0.tar.gz
客户端的配置
在客户端执行authconfig-tui命令,进入认证配置界面
4)openLDAP主从复制服务器配置
MasterLDAP: 10.10.119.200
SlaveLDAP: 10.10.119.204
Port: 389
在MasterLDAP端修改openLDAP主配置文件/etc/openldap/slapd.conf
[root@mail openldap]# vi /etc/openldap/slapd.conf
replogfile /var/lib/ldap/openldap-master-replog
replica host=10.10.119.204:389
suffix="dc=example,dc=com"
binddn="cn=admin,dc=example,dc=com"
bindmethod=simple
credentials=123456
在SlaveLDAP端修改openLDAP主配置文件/etc/openldap/slapd.conf
[root@mail openldap]# vi /etc/openldap/slapd.conf
updatedn "cn=admin,dc=example,dc=com"
updateref ldap://10.10.119.200:389
5)openLDAP双向复制服务器配置
MasterLDAP: 10.10.119.200
SlaveLDAP: 10.10.119.204
Port: 389
在MasterLDAP端修改openLDAP主配置文件/etc/openldap/slapd.conf
[root@mail openldap]# vi /etc/openldap/slapd.conf
updatedn "cn=admin,dc=example,dc=com"
updateref ldap://10.10.119.204:389
在SlaveLDAP端修改openLDAP主配置文件/etc/openldap/slapd.conf
[root@mail openldap]# vi /etc/openldap/slapd.conf
replica host=10.10.119.200:389
suffix="dc=example,dc=com"
binddn="cn=admin,dc=example,dc=com"
bindmethod=simple
credentials=123456
Notes: 我的实现方法应该不是正宗的,是在主从配置的想法上得来的,在网上和openLDAP的官方手册中都没有看到openLDAP双向复制服务器配置的案例,理论上这样配置的ldap服务起会发生“死循环”的问题,还好openLDAP在10.10.119.200:389.rej文件和 10.10.119.204:389.rej文件记录了这种循环,而不会导致真正的死循环
6)FAQ
6.1) Q1启动服务时出现/var/lib/ldap/**.dbd owner is not ldap
A1
[root@mail html]# chown -R ldap.ldap /var/lib/ldap
6.2)Q2启动服务时出现bdb_db_open: Warning - No DB_CONFIG file found in directory /var/lib/ldap
Oct 19 10:19:34 ldap slapd[55696]: bdb_db_open: Warning - No DB_CONFIG file found in directory /var/lib/ldap: (2)
Expect poor performance for suffix dc=admin,dc=example,dc=com.
A2
[root@mail html]# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
6.3) Q3在做ldapwhoami或者ldapsearch是出现sasl绑定错误
ldap_sasl_interactive_bind_s: Invalid credentials (49)
additional info: SASL(-13): user not found: no secret in database
A3:
默认的openLDAP是基于 sasl 的绑定,需要先创建sasl用户及其密码
[root@mail html]# saslpasswd2 -c UserName
输入两次密码,密码保存在/etc/sasldb2,可以用 sasldblistusers2 命令查看用户名称
在ldapsearch等命令中使用 -U UserName -W参数,然后输入上面的密码就行