OpenLDAP部署文档

1. OpenLDAP简介

OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。

2. OpenLDAP部署(主从为例)

环境准备:

系统版本:centos6.6 4.1.5-1.el7.centos.x86_64 主服务器:192.168.76.hehe(读写) 从服务器:192.168.86.haha(只读) 域名:auth.chegva.com

 

配置信息:

web管理端:http://192.168.76.hehe/ldapadmin/ 登陆DN:cn=admin,dc=chegva,dc=com 软件版本: compat-openldap-2.3.43-2.el6.x86_64 openldap-2.4.40-16.el6.x86_64 openldap-devel-2.4.40-16.el6.x86_64 openldap-servers-2.4.40-16.el6.x86_64 openldap-clients-2.4.40-16.el6.x86_64 数据目录:/var/lib/ldap 配置文件:/etc/openldap/slapd.conf 启动方式:service slapd start && service httpd start

安装操作:Openldap一键安装脚本 | Openldap服务tls/ssl证书配置

安装依赖包:yum install -y *ltdl* wget make gcc unixODBC-devel groff mysql-connector-odbc 查看目录信息:ldapsearch -H ldap://192.168.76.hehe:389 -x -b "dc=chegva.com,dc=com" objectclass='*' -v 添加用户:ldapadd -x -D "cn=admin,dc=chegva,dc=com" -W -f user.ldif 删除用户:ldapdelete -x -D "cn=admin,dc=chegva,dc=com" -W -f deluser.ldif 增删改查都可以在web端操作,在服务器上操作需创建ldif文件执行命令操作 如deluser.ldif dn: cn=anzhihe,ou=fbi,dc=chegva,dc=com changetype: delete 如添加部门:base.ldif dn: ou=fbi,dc=chegva,dc=com ou: fbi objectClass: top objectClass: organizationalUnit

 

openldap安装完成后相关目录承载的功能如下:

目录功能
bin客户端工具如ldapadd、ldapsearch
etc包含主配置文件slapd.conf、schema、DB_CONFIG等
includeldap的头文件
libldap的库文件
libexec服务端启动工具slapd
sbin服务端工具如slappasswd
share共享文件存储路径
varbdb数据、log存放目录

使用slappasswd设置加密后的管理员密码

    slappasswd -s 管理员密码

3. OpenLDAP配置文件(供参考)

#cat slapd.conf #引用模块 include /etc/openldap/schema/corba.schema include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/duaconf.schema include /etc/openldap/schema/dyngroup.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/java.schema include /etc/openldap/schema/misc.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/openldap.schema include /etc/openldap/schema/ppolicy.schema include /etc/openldap/schema/collective.schema allow bind_v2 pidfile /var/run/openldap/slapd.pid argsfile /var/run/openldap/slapd.args loglevel      296 modulepath /usr/lib/openldap modulepath /usr/lib64/openldap moduleload ppolicy.la moduleload syncprov.la

#访问权限配置 access to * by self write by dn.base="cn=admin,dc=chegva,dc=com" read by users read by anonymous auth database config access to * by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none database monitor access to * by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.exact="cn=admin,dc=chegva,dc=com" read by * none #数据库及密码设置 database bdb cachesize       1000 suffix "dc=chegva,dc=com" checkpoint 1024 15 rootdn "cn=admin,dc=chegva,dc=com" rootpw {SSHA}chegva.com directory /var/lib/ldap index objectClass                       eq,pres index ou,cn,mail,surname,givenname      eq,pres,sub index uidNumber,gidNumber,loginShell    eq,pres index uid,memberUid                     eq,pres,sub index nisMapName,nisMapEntry            eq,pres,sub #主从配置 index entryCSN,entryUUID    eq syncrepl        rid=001 provider=ldap://192.168.76.xx:389 type=refreshOnly retry="5 5 300 +" bindmethod=simple interval=00:00:00:10 scope=sub schemachecking=off binddn="cn=admin,dc=chegva,dc=com" credentials=xxx searchbase="dc=chegva,dc=com" attrs="*,+" overlay ppolicy ppolicy_hash_cleartext

openldap支持5种复制方式,分别是:

Syncrepl:slave服务器从master上拉取数据,缺点是拉取的最小粒度是单条记录

Delta-syncrepl:与上一条相似,但拉取的最小粒度是属性N-Way 

Multi-Master:多主,支持2个及以上的master

MirrorMode:双主镜像,不支持3个及以上的master,但可以有slave

Syncrepl Proxy:代理模式 


4. OpenLDAP备份迁移

备份:

1.可以在web端导出ldif文件然后部署后导入即可

2.调用api

迁移:

先使用脚本一键部署,然后将旧服务器上 /etc/openldap 和 /var/lib/ldap 目录copy到新服务器替换,chown -R ldap.ldap两个目录,然后启动服务导入备份数据


FAQ:

1. LDAP error codes

2. yum 安装的只支持主从模式,就别配主主模式了

3. openldap做高可用,前端若用nginx需编译安装第三方包才能支持ldap协议,lvs可以直接使用

4. 用脚本调openldap接口修改数据必须配置证书使用ldaps才可以 

参考:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/2786.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注