环境说明:
  操作系统:CentOS Linux release 7.5.1804 (Core)
  LDAP:2.4.44

前提条件:

  关闭防火墙、selinux,同时进行时钟同步。 其中XXX需要用域名进行替换,例如example.com,则需要将xxx修改为example.

1、安装软件。

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

2、生成管理员用户和密码。

slappasswd -s xxxxx
olcRootPW: {SSHA}+111111p+aUXGlhYIEMr+6ToCxxxxxx
需要记录下该密码,后续在配置/etc/openldap/slapd.d/cn=config/olcDatabase\=\{\}hdb.ldif会使用到。

3、修改域信息、管理员信息。

vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{\}hdb.ldif
需要修改内容如下:
olcSuffix: dc=xxx,dc=com #修改dc名称
olcRootDN: cn=root,dc=xxx,dc=com #修改cn名称、dc名称
olcRootPW: {SSHA}o7XgtJ7XNKKm7qOrtinHqiN7xZ4+gYI9 #该行为新增行,指定管理员密码,该行为新增行

4、修改监控文件管理员信息。

vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{\}monitor.ldif
原有行内容如下:
olcAccess: {}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=my-domain,dc=com" read by * none
修改完成内容如下:
olcAccess: {}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=root,dc=xxx,dc=com" read by * none

5、检测ldap配置文件以及版本号。

检查配置文件。
slaptest -u
输出如下:
5b0502de ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
5b0502de ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
config file testing succeeded
表明基本配置文件验证通过。由于这两个文件有crc校验,因此修改完成之后,crc校验失败,会报错,该错误克忽略。 查看版本号。
slapd -VV

6、配置ldap数据库存储。

复制基本的数据库配置:
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 修改ldap数据库配置目录所属用户
chown ldap:ldap -R /var/lib/ldap 修改ldap数据库配置目录权限
chmod -R /var/lib/ldap

7、启动ldap服务。

service slapd start

8、导入基本的数据库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

9、修改mail domain、base、schema配置。

vim /usr/share/migrationtools/migrate_common.ph
修改之前:
$DEFAULT_MAIL_DOMAIN = "padl.com";
$DEFAULT_BASE = "dc=padl,dc=com";
$EXTENDED_SCHEMA = ;
修改之后:
$DEFAULT_MAIL_DOMAIN = "xxx.com";
$DEFAULT_BASE = "dc=xxx,dc=com";
$EXTENDED_SCHEMA = ;

10、基础配置文件,新增基础信息。

dn: dc=xxx,dc=com
o: xxx com
dc: xxx
objectClass: top
objectClass: dcObject
objectclass: organization dn: cn=root,dc=xxx,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager dn: ou=ops,dc=xxx,dc=com
ou: ops
objectClass: top
objectClass: organizationalUnit dn: ou=developer,dc=xxx,dc=com
ou: developer
objectClass: top
objectClass: organizationalUnit

11、导入基础配置文件。

ldapadd -x -w "xxxxxxxxx" -D "cn=root,dc=xxxx,dc=com" -f /root/base.ldif
-w:指明管理员账户密码
-D:指明管理员basedn信息
-f /root/base.ldif:指明要添加的配置文件路径

最新文章

  1. 敏捷遇上UML-需求分析及软件设计最佳实践(郑州站 2014-6-7)
  2. js 十分精确身份证验证
  3. BestCoder——59
  4. 鸟哥的Linux私房菜 第十八章、认识系统服务 (daemons)
  5. document.styleSheets
  6. 简单实用的HTML代码
  7. 一级域名301重定向到www二级域名
  8. VMware vSphere服务器虚拟化实验十一高可用性之三Fault Tolerance
  9. 用Python实现gmail邮箱服务,实现两个邮箱之间的绑定(中)
  10. Intellij IDEA热加载更新 IntelliJ IDEA热加载自动更新(Update classes and resources )
  11. Redis集群分布
  12. mysql数据库的权限体系介绍
  13. 阿里云服务器ftp连接后21端口无法使用的问题
  14. EsayUi中常用的属性和方法总结
  15. 使用LNMP架构部署动态网站环境(源代码安装)
  16. 42 【docker】run命令
  17. TOP100summit2017:Riot Games 李仁杰——大数据落地要找到数据和经验的平衡点
  18. python装饰器1
  19. Mac下GitHub以及GitHub Desktop使用实战
  20. BUG笔记:Android原生浏览器不认负百分数margin致Foundation Orbit往右滑动动画出错

热门文章

  1. IIS7 增加JSON文件解析
  2. X5webview去掉分享功能和缓存功能
  3. Linux下的消息队列
  4. ubuntu下安装pip install mysqlclient 报错 command "python setup.py egg_info" failed with error.....解决方案
  5. Cisco Packet Tracer中两台电脑通信设置
  6. tomcat 在liunx中shutdown后进程仍然存在的两种实用解决办法
  7. Unity萌新日记—开发小技巧与冷知识(脚本篇)
  8. webpack3升级为webpack4
  9. 2019CSUST集训队选拔赛题解(二)
  10. 转载:GBDT算法梳理