操作环境
- 操作系统:Red Hat Enterprise Linux Server release 7.4
- 集群环境:CDH5.16.2
1 OpenLDAP的安装与配置
配置LDAP服务器
1.1.1 安装 LDAP 及相关软件包
yum -y install openldap-clients openldap-servers migrationtools
1.1.2 修改OpenLDAP的slapd.ldif配置文件
安装OpenLDAP服务后默认的配置文件及数据库文件在/usr/share/openldap-servers目录下
将该目录下的slapd.ldif文件拷贝至/root目录下
cp slapd.ldif /root/
vim slapd.ldif
修改slapd.ldif文件,将部分注释去掉,增加include的文件及配置管理员账号和OpenLDAP的根域信息,文件全部内容如下:
include: file:///etc/openldap/schema/corba.ldif
include: file:///etc/openldap/schema/core.ldif
include: file:///etc/openldap/schema/cosine.ldif
include: file:///etc/openldap/schema/duaconf.ldif
include: file:///etc/openldap/schema/dyngroup.ldif
include: file:///etc/openldap/schema/inetorgperson.ldif
include: file:///etc/openldap/schema/java.ldif
include: file:///etc/openldap/schema/misc.ldif
include: file:///etc/openldap/schema/nis.ldif
include: file:///etc/openldap/schema/openldap.ldif
include: file:///etc/openldap/schema/ppolicy.ldif
include: file:///etc/openldap/schema/collective.ldif
dn.base=“gidNumber=0+uidNumber=0,cn=peercred,cn=external,c
n=auth” read by dn.base=“cn=Manager,dc=hadoop,dc=com” read by * none
olcSuffix: dc=hadoop,dc=com
olcRootDN: cn=Manager,dc=hadoop,dc=com
olcRootPW: 123456
olcDbIndex: uidNumber,gidNumber,loginShell eq,pres
olcDbIndex: uid,memberUid eq,pres,sub
olcDbIndex: nisMapName,nisMapEntry eq,pres,sub
有几点需要注意:
- 上文中的空行不能省略,它表示一个 DN 的结束;
- include 部分是有先后顺序的,不要随意改变顺序;
- 有多处 dc=hadoop,dc=com ,这是因为我的 LDAP 域是 hadoop.com ,如果你的 LDAP 域是
subdomain1.domain1.com ,则应该为 dc=subdomain1,dc=domain1,dc=com 的形式。 - olcRootPW 那一行是密码
1.1.3 使用如下命令,重新生成OpenLDAP的配置
rm -rf /etc/openldap/slapd.d/*
将 /root/slapd.ldif 加载进 /etc/openldap/slapd.d 目录:
slapadd -F /etc/openldap/slapd.d -n 0 -l /root/slapd.ldif
测试配置文件是否正确,返回“config file testing succeeded”则表示配置文件正确
slaptest -u -F /etc/openldap/slapd.d
修改配置文件的属主,操作如下:
chown -R ldap. /etc/openldap/slapd.d/
ll /etc/openldap/slapd.d/
1.1.4 安装OpenLDAP的数据库文件
将/usr/share/openldap-servers/目录下的DB_CONFIG.example文件拷贝至/var/lib/ldap目录下并重命名为DB_CONFIG,操作如下:
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
ll /var/lib/ldap/
修改数据库文件属主
cho