环境说明:
  操作系统: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. 负载均衡@StackExchange.Redis实现Session外置--纯干货喂饱你

    Redis和StackExchange.Redis redis有多个数据库1.redis 中的每一个数据库,都由一个 redisDb 的结构存储.其中,redisDb.id 存储着 redis 数据库 ...

  2. 开箱即用 - log4net 日志

    废话少说,先上代码 log4net Demo 好的系统都有日志,log4net 是我在.net平台下用过最爽的日志库,简单易用.功能强大. 基于配置(配置很简单,一看就明,通用,拷去即用): 可同时保 ...

  3. Python中的注释

    1.1 注释的目的 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性. 1.2 注释的分类 1.2.1 单行注释 以#开头,#右边的所有东西当做说明,而 ...

  4. pdo的用处,用法

    PDO主要是用来对数据库进行访问的.PDO扩展为PHP访问数据库定义了一个轻量级的一致接口,不同数据库在访问时,采用相同方法名称,解决了连接数据库不统一问题.PDO扩展自身并不能实现任何数据库功能,必 ...

  5. 初学者下载使用Python遇到的问题看它就行了

    首先在python管网(www.python.org)中找到对应的版本与系统,以(window7系统64位python3.7.3为例) 打开电脑--打开浏览器--输入www.python.org--d ...

  6. SpringCloud使用Feign出现java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.LoadBalancedRetryFactory异常

    废话不多说!!! 在SpringCloud项目中配置了Feign来调用restful接口,项目启动的时候报错,报错信息如下: 找不到org.springframework.cloud.client.l ...

  7. 通过python将xml文件转换成html文件

    #数据类型的转换 def main():    maxwidth = 100  #用于规范字段的长度    print_start()    count=0    while True:        ...

  8. 【一】,python简单爬虫实现

    一: 1.获取当前页的课程名称,地址:https://www.ichunqiu.com/courses/webaq 2.选取其中一门课程名称查看源代码: 代码如下: <p class=" ...

  9. 使用FFMPEG 压缩png图片 与tinypng压缩结果对比

    Tinypng  https://tinypng.com/ 一个在线png压缩工具 FFmpeg https://ffmpeg.org/download.html 原图 903 kb Tinypng压 ...

  10. halt命令详解

    基础命令学习目录首页 原文链接:https://www.jb51.net/LINUXjishu/57947.html 名称:halt 使用权限:系统管理者 halt 使用方式:halt [-n] [- ...