一.LDAP是什么

后期更新,目前只搭建了服务器

二.linux搭建LDAP服务器

以下服务器信息为该文档安装Radius服务环境

服务器信息:CentOS7 

内核版本:3.10.0-1160.el7.x86_64

1.使用yum进行安装

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

2.安装完毕后,检查服务运行状态

安装完之后,直接启动服务并且将服务设置为自启动状态,检查服务运行状态(如果未启动成功,自行手工启动)

systemctl start slapd
systemctl enable slapd

3.创建根密码

此密码用于整个安装过程,是LADP的管理员根密码,使用slappasswd 命令生成密码。输入slappasswd后提示输入密码(Aa23456)与确认密码,系统会输出一串加密后的字符串

slappasswd

4.配置服务

(修改的所有过程,均使用ldapmodify完成)

cd /etc/openldap/slapd.d/cn=config
ll

  • 修改db文件

在任意目录创建 db.ldif文件(尽量不要在/etc/openldap/slapd.d/cn=config目录下创建)

vim db.ldif

在db.ldif文件中编辑下面内容,目的就是替换上图中olcDatabase={2}hdb.ldif中olcSuffix, olcRootDN, olcRootPW这三个字段的内容

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=ricman,dc=localhost dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=ricman,dc=localhost dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8

编辑完成后,在db.ldif目录下运行命令

ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif

出现下图,即代表更改完成,三个字段内容被成功替换

  • 修改monitor文件

在刚刚的db.ldif目录下创建monitor.ldif

vim monitor.ldif

编辑下面内容(一定一定要注意格式,空格之类的问题,我试了好多次都报错,直到这次才成功)

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=Manger,dc=ricman,dc=localhost" read by * none

编辑完成后,在monitor.ldif目录下运行命令

ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif

修改完成

  • 创建ldap基础库

复制ldap原有配置,并赋予它所有权限

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*

然后向数据库添加schemas,包括cosine、nis、inetorgperson,然后分别执行下列命令

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

  •  创建base.ldif
dn: dc=ricman,dc=localhost
dc: ricman
objectClass: top
objectClass: domain dn: cn=Manager ,dc=ricman,dc=localhost
objectClass: organizationalRole
cn: Manager
description: LDAP Manager dn: ou=People,dc=ricman,dc=localhost
objectClass: organizationalUnit
ou: People dn: ou=Group,dc=ricman,dc=localhost
objectClass: organizationalUnit
ou: Group

输入下方命令保存至数据库

ldapadd -x -W -D "cn=Manager,dc=ricman,dc=localhost" -f base.ldif

至此,ldap基础配置已基本完成。

5.管理和使用ldap服务器

依次点击start---connect---New connection,然后输入 Host,Base以及用户名与密码,如下图所示,然后test connection。

登录成功

所有内容只为了记录搭建和学习过程,部分内容源于网络。

Linux(centos7.9)搭建ldap服务器的更多相关文章

  1. 腾讯云服务器linux centOS7.4 搭建ftp服务器 vsftpd

    腾讯云服务器linux centos 7.4 搭建ftp服务器 vsftpd 在centos 7.3测试也是OK的,其它版本没有实验 # 安装 vsftpd $ yum install vsftpd ...

  2. 2020年,手把手教你如何在CentOS7上一步一步搭建LDAP服务器的最新教程

    同步滚动:关 什么是LDAP 什么是LDAP? 要想知道一个概念,最简单的办法就是wikipedia,当然也可以百科. LDAP全称是轻型目录访问协议(Lightweight Directory Ac ...

  3. Linux中用postfix搭建邮件服务器实战详解

    Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...

  4. Linux搭建Ldap服务器

    一,服务器安装 yum install -y openldap openldap-clients openldap-servers migrationtools 二,配置ldap服务器 2.1配置ld ...

  5. 在Centos7下搭建Git服务器

    ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...

  6. CentOS7下搭建邮件服务器(dovecot + postfix + SSL)

    CentOS   花了基本上两天的时间去配置CentOS7下的邮件服务器.其中艰辛太多了,一定得总结下. 本文的目的在于通过一系列配置,在CentOS 7下搭建dovecot + postfix + ...

  7. Windows 下搭建LDAP服务器

    五一闲来没事,加上项目正在进行UAT.抽空研究了一下LDAP相关知识.随手做一个记录. 为了方便阅读还是先介绍一下什么是LDAP? 前言.Lightweight Directory Access Pr ...

  8. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  9. Centos7安装搭建NTP服务器和NTP客户端同步时间

    NTP简介: NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议. 在计算机的世界里,时间非常地重要 例如:对于火箭发射这种科研活动,对时间的 ...

  10. git操作:在CentOS7上面搭建GitLab服务器

    在这篇文章中将要讲解如何在CentOS7上面搭建本地的GitLab服务器. 一.安装并配置必要的依赖关系 首先要在CentOS系统上面安装所需的依赖:ssh.防火墙.postfix(用于邮件通知).w ...

随机推荐

  1. C# 返回指定目录下所有文件信息

    返回指定目录下所有文件信息 /// <summary> /// 返回指定目录下所有文件信息 /// </summary> /// <param name="st ...

  2. mysql统计特定字符串出现次数

    其中'test'为原始字符串,'t'为特定字符串   SELECT floor((char_length('test') - char_length(replace('test', 't', '')) ...

  3. 使用Git进行版本控制,不同的项目怎么设置不同的提交用户名和邮箱呢?

    1.全局设置用户名和邮箱 因为平时除了开发公司项目还会写自己的项目或者去维护开源项目,一般情况下,公司会要求提交代码时使用自己的真名或者拼音和公司邮箱,以前就只会设置全局用户名或邮箱如下 git co ...

  4. ASP.NET Core - 配置系统之自定义配置提供程序

    4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口 ...

  5. C_C++常用函数汇总

    1 string.h.cstring(C) (1)字符串连接函数 strcat.strncat strcat(char[ ], const char[ ]) strncat(char[ ], cons ...

  6. 学习笔记if

  7. Python——基础知识(一)

    1. 那么多编程语言,为什么学python 易于学习,是所有编程语言当中最容易学习的 没有最好的语言,只有最合适的语言 2. 反复执行的用例如何提升效率 测试流程回归(回顾) 很多测试用例在不同的测试 ...

  8. Java面试——RPC

    一.RPC 服务的原理 [1]Socket 套接字:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为 Socket.可以实现不同计算机之间的通信,是网络编程接口的具体实现.So ...

  9. hadoop 第二期

    Hive 启动hive 使用命令`hive` 输入命令之后要有一个 ; 结尾!!!!!!! DDL命令 1.创建数据表 create table lxl( num int, name string, ...

  10. (原创)【B4A】一步一步入门10:TabHost,标签页、标题带图标(控件篇06)

    一.前言 本篇教程我们来讲一下TabHost(标签页)的基本使用方法. 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesliexin/p/1728556 ...