环境说明:
  操作系统: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:指明要添加的配置文件路径

centos 7下ldap安装的更多相关文章

  1. Sysbench Sysbench在centos系统下的安装

    Sysbench在centos系统下的安装   by:授客 QQ:1033553122       测试环境: CentOS-7-x86_64-DVD-1503-01.iso 下载地址: http:/ ...

  2. CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理

    CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理 首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde ...

  3. Linux/CentOS环境下如何安装和配置PhantomJS工作环境

    PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...

  4. CentOS系统下Redis安装和自启动配置的步骤

    相信大家都知道Redis是一个C实现的基于内存.可持久化的键值对数据库,在分布式服务中常作为缓存服务.所以这篇文章将详细介绍在CentOS系统下如何从零开始安装到配置启动服务.有需要的可以参考借鉴. ...

  5. centos/linux下的安装Maven

    1.保证该项目安装了JDK 请在系统中输入java -version查看该命令是否存在 如果没有安装JDK请移步到Centos/linux下的JDK安装 2.下载Maven wget http://m ...

  6. centos/linux下的安装Tomcat

    1.启动tomcat时候需要JDK依赖 如果没有安装的请移步到该链接Centos/linux下的JDK安装 2.从官网上下载tomcat压缩包 wget -c http://apache.fayea. ...

  7. CentOS 7 下编译安装lnmp之MySQL篇详解

    一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二.MySQL下载 MySQL ...

  8. CentOS 7 下编译安装lnmp之nginx篇详解

    一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:CentOS Linux release 7.5.1804 (Core),ip地址 192.168.1.168   ...

  9. 在CentOS 7下编译安装Nginx+PHP+MySQL环境

    本文转载自:http://www.softeng.cn/?p=156,本文已获得作者授权,未经作者同意,不可转载. 1.前言 本文适合于已经对Linux操作系统具有基本操作经验,并且能够在Linux或 ...

随机推荐

  1. svn检出项目后,serverlet包 报错

    因为缺少一个包    servlet-api.jar   没引.

  2. idou老师教你学Istio:如何用 Istio 实现速率限制

    使用 Istio 可以很方便地实现速率限制.本文介绍了速率限制的使用场景,使用 memquota\redisquota adapter 实现速率限制的方法,通过配置 rule 实现有条件的速率限制,以 ...

  3. Eclipse的汉化问题

    最近看了很多我周围的同学,也都是刚开始接触Eclipse,但是都头疼于eclipse的汉化问题. 好在的是,Eclipse的汉化比较简单,不用到网上自己下载汉化包,而且关于这个软件的汉化也非常的多,所 ...

  4. 2018NOIP爆0记第一弹

    初赛篇 选择即王道 迪杰斯特拉那道题的A选项自己yy一下觉得甚是不妥,就没选 就和30分完美选择题擦肩而过. 填空最后一题不太会搞,就跳过了,最后蒙了个512上去...其实还有点接近的... 5分 然 ...

  5. 【翻译】HOG, Histogram of Oriented Gradients / 方向梯度直方图 介绍

    本文翻译自 SATYA MALLICK 的 "Histogram of Oriented Gradients" 原文链接: https://www.learnopencv.com/ ...

  6. 单纯形法MATALAB实现

    参考单纯形法的步骤,MATALAB中的实现如下(求极小值): 注:对于极大值的求解,只需要对目标函数添加负号,求解出来的\(X\),再带入原目标函数即可. function [ X, z ] = si ...

  7. Dingo Api 1.0在laravel5.2中的简单应用

    Dingo Api是为基于laravel的开发提供了一系列工具集,这些工具集可以帮助开发者快速构建API.Dingo Api最新的版本是2.0.0-alpha1,这个版本需要php7.0以上的php版 ...

  8. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!

    本文主要展示的是通过使用python和PyInstaller来构建恶意软件的一些poc. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!众所周知的,恶意软件如果影响到了他人的生 ...

  9. +new Date()的用法

    var s=+newDate();   var s=+newDate(); 解释如下:=+是不存在的; +new Date()是一个东西; +相当于.valueOf(); 看到回复补充一下.getTi ...

  10. 个人作业-Week 1

    1)快速看完整部教材,列出你仍然不懂的5到10个问题,发布在你的个人博客上. Q1:"Scrum Master不是一个官,而是一个没有行政权力的沟通者,就像微软的PM那样.他/她同时还要在团 ...