ldap安装
安装ldap的服务端
1.使用yum命令安装openldap

#命令安装openldap
yum -y install openldap-servers openldap-clients

#复制
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

#设置权限
chown -R ldap:ldap /var/lib/ldap

#开始ldap
systemctl enable slapd

#启动ldap
systemctl start slapd

#查看ldap的状态
systemctl status slapd

安装包名称 说明
openldap openldap服务端和客户端必须用的库文件
openldap-servers 用于启动服务和设置. 包含单独的ldap后台守护程序
openldap-clients 用于启动服务和设置. 包含单独的ldap后台守护程序
openldap-devel devel包,可选择进行安装
openldap-servers-sql 支持sql模块,可进行选择性安装
migrationtools 通过migrationtools实现OpenLDAP用户及用户组的添加,导入系统账户,可进行选择性安装
compat-openldap openldap兼容性库
2、设置ldap的管理员用户的密码

#设置秘钥(记录密码,生成密码后类似{SSHA}BrEiec66PbYXHMz3XeC1XAIyczzdAAYw)
slappasswd

#创建ldif文件夹
mkdir myldap

#切换到myldap目录下
cd myldap/

#创建pwd.ldif,然后写入内容
touch pwd.ldif

#pwd.ldif内容如下---注意olcRootPW要设置你自己生成的秘钥
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}BrEiec66PbYXHMz3XeC1XAIyczzdAAYw

#根据文件导入
ldapadd -Y EXTERNAL -H ldapi:/// -f pwd.ldif

3、添加基础的schema

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

4、设置根域和数据库超级管理员

#创建dbadmin.ldif,然后写入内容
touch dbadmin.ldif

#dbadmin.ldif内容如下
#注意dc=cmlf,cmlf可以改成其他的,不用保持一致
#olcRootPW的秘钥要和自己生成的秘钥保持一致
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to *
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.base="cn=admin,dc=cmlf,dc=com" read
by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=cmlf,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=cmlf,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}BrEiec66PbYXHMz3XeC1XAIyczzdAAYw

dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=cmlf,dc=com" write
by anonymous auth
by self write
by * none
olcAccess: {1}to dn.base=""
by * read
olcAccess: {2}to *
by dn="cn=admin,dc=cmlf,dc=com" write
by * read


#根据文件导入
ldapadd -Y EXTERNAL -H ldapi:/// -f dbadmin.ldif

5、创建基本的用户节点,组节点,数据库管理员

#创建 base.ldif,然后写入内容
touch base.ldif

#内容如下,注意把dc=cmlf替换成自己的名称
dn: dc=cmlf,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Example Inc.
dc: cmlf

dn: ou=people,dc=cmlf,dc=com
objectClass: organizationalUnit
ou: user

dn: ou=group,dc=cmlf,dc=com
objectClass: organizationalUnit
ou: group

dn: cn=admin,dc=cmlf,dc=com
objectClass: organizationalRole
cn: admin
description: Directory Administrator

#根据文件导入---注意dc=cmlf,dc=com这一段要替换成自己的
ldapadd -x -D cn=admin,dc=cmlf,dc=com -W -f base.ldif

6、防火墙设置

firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload

7、配置日志

#创建 log.ldif,然后写入内容
touch log.ldif

#内容
dn: cn=config
changetype: modify
add: olcLogLevel
olcLogLevel: 32

#根据文件导入
ldapmodify -Y EXTERNAL -H ldapi:/// -f log.ldif

#执行以下命令
mkdir -p /var/log/slapd
chown ldap:ldap /var/log/slapd/
echo "local4.* /var/log/slapd/slapd.log" >> /etc/rsyslog.conf
systemctl restart rsyslog
systemctl restart slapd
tail -n 4 /var/log/slapd/slapd.log


通过工具连接ldap
1、下载ldap工具
http://www.ldapadmin.org/download/index.html


2、连接
connection name:自己取个名称
host:自己部署ldap的ip地址
base:自己设置的dc=cmlf,dc=com
username:自己设置的cn=admin,dc=cmlf,dc=com
password:自己设置的明文,注意是明文不是加密后的秘钥