OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,可用于实现统一认证

一、安装环境

安装方式:yum

系统:centos7.4

openldap版本:2.4.44

二、安装openldap

1.安装相关软件

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

2.初始化配置

(1)修改数据目录

mkdir -p /opt/morefun-ldap/{ldap-data,ldap-init}
chown -R ldap.ldap /opt/morefun-ldap
sed -i 's#olcDbDirectory: /var/lib/ldap#olcDbDirectory: /opt/morefun-ldap/ldap-data#g' cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{\}hdb.ldif
systemctl start slapd
systemctl enable slapd

(2)初始化管理员账号密码

cd /opt/dingkai-ldap/ldap-init
slappasswd -s dingkai  #生成密码串
{SSHA}dHcJtKCaBrl+PlVg55LhXrAcSFQWxvBF cat >chrootpw.ldif<<EOF
#specify the password generated above for "olcRootPW" section
dn: olcDatabase={}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}dHcJtKCaBrl+PlVg55LhXrAcSFQWxvBF
EOF ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
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 cat >chdomain.ldif<<EOF
#replace to your own domain name for "dc=***,dc=***" section
#specify the password generated above for "olcRootPW" section
dn: olcDatabase={}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {}to *
by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.base="cn=admin,dc=dingkai,dc=com" read
by * none dn: olcDatabase={}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=dingkai,dc=com dn: olcDatabase={}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=dingkai,dc=com dn: olcDatabase={}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}dHcJtKCaBrl+PlVg55LhXrAcSFQWxvBF dn: olcDatabase={}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {}to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=dingkai,dc=com" write
by anonymous auth by self write
by * none
olcAccess: {}to dn.base=""
by * read
olcAccess: {}to *
by dn="cn=admin,dc=dingkai,dc=com" write
by * read
EOF ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/chdomain.ldif

#添加基础组
cat >basedomain.ldif << EOF
#replace to your own domain name for "dc=***,dc=***" section
dn: dc=dingkai,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Example Inc.
dc: dingkai dn: cn=admin,dc=dingkai,dc=com
objectClass: organizationalRole
cn: admin
description: Directory Administrator dn: ou=user,dc=dingkai,dc=com
objectClass: organizationalUnit
ou: user dn: ou=group,dc=dingkai,dc=com
objectClass: organizationalUnit
ou: group
EOF ldapadd -x -D cn=admin,dc=dingkai,dc=com -W -f /root/basedomain.ldif

(3)加载memberof模块

cat >memberof_config.ldif<<EOF
dn: cn=module,cn=config
cn: module
objectClass: olcModuleList
olcModuleLoad: memberof
olcModulePath: /usr/lib64/openldap dn: olcOverlay={}memberof,olcDatabase={}bdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
EOF ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif cat >refint1.ldif<<EOF
dn: cn=module{},cn=config
add: olcmoduleload
olcmoduleload: refint
EOF ldapadd -Q -Y EXTERNAL -H ldapi:/// -f refint1.ldif cat >refint2.ldif<<EOF
dn: olcOverlay={}refint,olcDatabase={}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {}refint
olcRefintAttribute: memberof member manager owner
EOF ldapadd -Q -Y EXTERNAL -H ldapi:/// -f efint1.ldif

3.测试搜索添加的目录

ldapsearch -x -b "dc=dingkai,dc=com"

二、安装图形界面管理工具(phpldapadmin或ldap-account-manager选择其一即可)

lam【https://www.ldap-account-manager.org/lamcms/】

详细文档见后续

Centos7搭建Open-ldap的更多相关文章

  1. centos7 搭建GlusterFS

    centos7 搭建GlusterFS 转载http://zhaijunming5.blog.51cto.com/10668883/1704535 实验需求:4台机器安装GlusterFS组成一个集群 ...

  2. Centos7搭建FTP服务器

    从网上搜索了好多搭建Centos7搭建服务器的教程都没有成功唯独这个,利用Windows资源管理器连接测试成功. 一.通过yum安装vsftpd yum install -y vsftpd 二.修改v ...

  3. CentOS7 搭建 SVN 服务器

    CentOS7 搭建 SVN 服务器 介绍SVN: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上 ...

  4. centos7搭建ELK Cluster集群日志分析平台(四):Fliebeat-简单测试

    续之前安装好的ELK集群 各主机:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 kibana: 192.168.1.25 测试机:cli ...

  5. centos7搭建ELK Cluster集群日志分析平台(三):Kibana

    续  centos7搭建ELK Cluster集群日志分析平台(一) 续  centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...

  6. centos7搭建ELK Cluster集群日志分析平台(二):Logstash

    续  centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...

  7. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

  8. CentOS7搭建OpenVPN

    目录 CentOS7搭建OpenVPN 环境 安装 第一步.安装openvpn及所需软件 第二步.编辑vars文件,根据自己环境配置 第三步.创建服务端证书及key 第四步.创建客户端证书 第五步.拷 ...

  9. vps vultr centos7 搭建 伟皮恩

    vultr 配置 64 bit OS   CentOS 7 ×64 20 GB SSD    1 CPU  512MB  Memory  500GB Bandwidth √ Enable IPv6 √ ...

  10. centos7 搭建WEB服务器

    centos7 搭建WEB服务器 2017年09月17日 09:44:50 逝然1994 阅读数:18321 标签: centosapacheweb服务器 更多 个人分类: centos服务器简单配置 ...

随机推荐

  1. qt 程序发布

    Qt 程序发布步骤: 注意5.5 以后不再支持 WinXP 1) dll 抽取工具 windeployqt.exe 2) Windows脚本 实例: D:\Qt\Qt5.5.0\5.5\mingw49 ...

  2. git多人参与的项目 -> 分支代码如何合并到主干

    个人理解:合并分支时候就是当前分支,与别的分支先合并一遍,然后解决分支中存在的所有冲突,之后将本地分支代码提交到git远程仓库,之后切换主干分支 ,将主干分支与分支内容合并,解决冲突, 在提交主干分支 ...

  3. C++入门经典-例3.25-使用循环输出闰年

    1:代码如下: // 3.25.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  4. idea maven sync Cannot resolve xxx 的解决方案

    经常会出现这种奇葩情况,提示找不到包 其实是因为网络波动或者突然断掉,导致包更新出现问题 直接去maven的仓库目录 找到不能找到的包 删掉相关目录 然后重新更新maven就行了 比如 直接去仓库目录 ...

  5. JS检测浏览器版本信息(包含IE11),并动态添加样式

    <head runat="server"> <meta http-equiv="Content-Type" content="tex ...

  6. 汽车Lin总线特点

    串行通信:线间干扰小,节省线束,传输距离长 单线传输:增强的ISO 9141 (ISO 15765-1),总线电压基于VBAT 最高速率:20kbit/s 单主多从结构,无需仲裁:主节点同时包含主任务 ...

  7. leetcode 215 第K个最大的元素

    此问题可转化为Top K问题进行考虑,当用小顶堆选出K个最大值时,堆顶的元素即为第k大的元素 class Solution { public: int findKthLargest(vector< ...

  8. linux如何杀掉进程(kill)

    方法/步骤1: 使用“ps -e|grep mysql”命令,查看mysql程序的对应的pid号.结果如下图:   方法/步骤2: 使用“kill -9 2891”命令,可以结束掉mysqld_saf ...

  9. IPython基础使用_Round2

    目录 目录 前言 软件环境 Ipython的字符串处理 Ipython的魔力函数Magic lsmagic Output所有魔力函数 查看Magic的源码 env 显示系统环境变量 history 查 ...

  10. pytest_1安装和启动

    一.安装和启动 1.1 安装pytest 1. 键入Ctrl+R,打开cmd,输入命令至python环境下(本机:D:\Python27>) 2. 在python环境下运行下面的命令即可安装py ...