openldap 2.3 安装配置详解

2023-11-04

安装逻辑

1,安装配置master

  初始化数据+将系统账户导入ldap(详细见openldap自我整理下的  openldap安装注意)

配置master slapd.conf文件

replogfile /var/lib/ldap/openldap-master-replog

replica host=192.168.206.130:389

    #下面2行要有空格

    binddn="cn=Manager, dc=wyh, dc=com"  

    bindmethod=simple credentials=secret 

2,修改slave配置

updatedn "cn=Manager,dc=wyh,dc=com"

updateref ldap://192.168.206.11:389

其中,第1行必须与主服务器配置文件中的binddn对应。指定了在更新从服务器的数据时主服务器的slurpd守护进程使用的dn。

第2行的updateref设置的是主服务器。

当客户端对从LDAP提交更新请求时,从服务器就将客户端重定向到这个主服务器上。

3,将master上的/var/lib/ldap 下的数据传到slave服务器上对应位置

具体操作:

master上

1,编辑slapd.conf文件

database bdb

suffix "dc=pincer,dc=com"

rootdn "cn=Manager,dc=pincer,dc=com"

# Cleartext passwords, especially for the rootdn, should

# be avoided. See slappasswd(8) and slapd.conf(5) for details.

# Use of strong authentication encouraged.

rootpw redhat


将DB_CONFIG.example文件复制到/var/lib/ldap

cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/

chown  ldap.ldap /var/lib/ldap/*


2,启动服务

service ldap start

(配置syslog见 openldap自我整理下的  openldap安装注意

也可以使用slurpd-d 64 查看是否有报错


3,初始化数据

编写base.ldif

[root@localhost ldap]# cat test.ldif 
dn: dc=pincer,dc=com 
dc: pincer 
objectClass: top 
objectClass: dcObject 
objectClass: organization 
o: pincer 

dn: cn=Manager,dc=pincer,dc=com 
objectClass: organizationalRole 
cn: Manager

这里是创建树的top

ldapadd -x -D 'cn=Manager,dc=pincer,dc=com' -w redhat -f base.ldif   

4,测试是否可以查询和添加信息

ldapsearch -x -D 'cn=Manager,dc=pincer,dc=com' -w redhat -b 'dc=pincer,dc=com' 

ldapsearch -x  -b 'dc=pincer,dc=com' 

添加数据

5,自己添加OU

[root@localhost ldap]# cat test1.ldif 
dn: ou=qian,dc=pincer,dc=com 
ou: qian 
objectClass: organizationalUnit

ldapadd -x -D 'cn=Manager,dc=pincer,dc=com' -w redhat -f test1 ldif   

测试成功进行下一步

6, 添加master复制配置

vim slapd.conf

加入

replogfile /var/lib/ldap/openldap-master-replog

replica host=192.168.206.130:389

    #下面2行要有空格

   #这里也可以不使用管理员账号,

    binddn="cn=Manager, dc=pincer, dc=com"  

    bindmethod=simple credentials=redhat

7,编辑slave配置文件

vim slapd.conf

updatedn "cn=Manager,dc=wyh,dc=com"

updateref ldap://192.168.206.11:389

其中,第1行必须与主服务器配置文件中的binddn对应。指定了在更新从服务器的数据时主服务器的slurpd守护进程使用的dn。

第2行的updateref设置的是主服务器。

当客户端对从LDAP提交更新请求时,从服务器就将客户端重定向到这个主服务器上

8,最关键一步, 将master上的/var/lib/ldap 下的数据传到slave服务器上对应位置

然后修改chown

重启master和slave的服务,

如果没同步

可以分别在master

和slave上执行slurpd-d 64 查看是否有报错




不使用管理员账号同步

在master上

1,创建本地账号(添加到ldap,然后给read权限)

useradd pincerqian

passwd pincerqian 

redhat

redhat


2,使用迁移工具,将本地账号都添加到ldap


 /usr/share/openldap/  下有迁移数据的migration脚本

如果没有这个脚本,需要安装

yum install migrationtools -y

/usr/share/migrationtools/下

./migrate_group.pl /etc/passwd passwd.ldif

./migrate_group.pl /etc/group group.ldif

以后创建新用户什么的,可以参考这里的内容

注意,要修改里面的dc,跟自己的dc对应

然后,里面包含2个ou,我们需要自己添加下,然后倒入本地的

cat  ou.ldif

dn: ou=People,dc=pincer,dc=com 
ou: People 
description: All people in organization 
objectClass: organizationalUnit

dn: ou=Group,dc=pincer,dc=com

ou: Group

description: All people in organization

objectClass: organizationalUnit

导入ldap

ldapadd -x -w 123456 -D 'cn=Manager,dc=pincer,dc=com' -f ou.ldif

然后修改master配置文件,添加权限控制

access to attrs=userPassword  #这个地方是因为倒入本地账号的时候,就有userPassword属性,所以用来匹配

        by self write

#--#CHANGE SYNC ACCOUNT HERE#--#

        by dn="uid=pincerqian,ou=People,dc=pincer,dc=com" read

        by * auth

access to attrs=shadowLastChange

        by self write

        by * read

access to *

        by * read

保存,重启服务

然后测试,看看是否能够查询

 ldapsearch -x -D 'uid=pincerqian,ou=People,dc=pincer,dc=com' -w redhat -b 'dc=pincer,dc=com' 

在slave上

因为修改了用户,所以要修改slave上的配置文件

添加

updatedn "uid=pincerqian,ou=People,dc=pincer,dc=com"

updateref ldap://192.168.92.131:389

关键处,关闭master 和slave的服务

然后在master上

将/var/lib/ldap下的所有文件传到slave的这个目录下

scp -r /var/lib/ldap/* slave@:/var/lib/ldap/

然后到slave上

chown -R ldap.ldap /var/lib/ldap/*

然后全部启动服务

日志相关

下面的为同步成功的日执像显示(这个日志是配置了loglevel 296 ,然后/etc/syslog.conf下加入了 local4.debug /var/log/slapd.log)

Oct 13 04:40:55 localhost slapd[16551]: @(#) $OpenLDAP: slapd 2.3.43 (Nov 6 2008 02:53:39) $ brewbuilder@ls20-bc2-13.build.redhat.com:/builddir/build/BUILD/openldap-2.3.43/openldap-2.3.43/build-servers/servers/slapd 
Oct 13 04:40:55 localhost slapd[16552]: bdb_db_open: DB_CONFIG for suffix dc=pincer,dc=com has changed. Performing database recovery to activate new settings. 
Oct 13 04:40:55 localhost slapd[16552]: slapd starting 
Oct 13 04:40:55 localhost slapd[16552]: daemon: added 4r listener=(nil) 
Oct 13 04:40:55 localhost slapd[16552]: daemon: added 7r listener=0x919c630 
Oct 13 04:40:55 localhost slapd[16552]: daemon: added 8r listener=0x919c6f8 
Oct 13 04:40:55 localhost slapd[16552]: daemon: epoll: listen=7 active_threads=0 tvp=NULL 
Oct 13 04:40:55 localhost slapd[16552]: daemon: epoll: listen=8 active_threads=0 tvp=NULL 
Oct 13 04:41:13 localhost slapd[16552]: daemon: shutdown requested and initiated. 
Oct 13 04:41:13 localhost slapd[16552]: daemon: closing 7 
Oct 13 04:41:13 localhost slapd[16552]: daemon: closing 8 
Oct 13 04:41:13 localhost slapd[16552]: slapd shutdown: waiting for 0 threads to terminate 
Oct 13 04:41:13 localhost slapd[16552]: slapd stopped. 
Oct 13 04:41:45 localhost slapd[16624]: @(#) $OpenLDAP: slapd 2.3.43 (Nov 6 2008 02:53:39) $ brewbuilder@ls20-bc2-13.build.redhat.com:/builddir/build/BUILD/openldap-2.3.43/openldap-2.3.43/build-servers/servers/slapd 
Oct 13 04:41:46 localhost slapd[16625]: bdb_db_open: DB_CONFIG for suffix dc=pincer,dc=com has changed. Performing database recovery to activate new settings. 
Oct 13 04:41:46 localhost slapd[16625]: slapd starting 
Oct 13 04:41:46 localhost slapd[16625]: daemon: added 4r listener=(nil) 
Oct 13 04:41:46 localhost slapd[16625]: daemon: added 7r listener=0x9b0b630 
Oct 13 04:41:46 localhost slapd[16625]: daemon: added 8r listener=0x9b0b6f8 
Oct 13 04:41:46 localhost slapd[16625]: daemon: epoll: listen=7 active_threads=0 tvp=NULL 
Oct 13 04:41:46 localhost slapd[16625]: daemon: epoll: listen=8 active_threads=0 tvp=NULL


转载于:https://blog.51cto.com/pincer/1617367

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openldap 2.3 安装配置详解 的相关文章

  • IDEA打包Maven项目失败-InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

    IDEA中运行Maven package报错 Could not transfer artifact org apache maven plugins maven resources plugin pom 2 6 from to centr
  • 单线多拨插件安装_折腾小日记三:爱快PKopenwrt多拨实测(更新版)

    前言 受困于运营商较小的带宽或者高昂的资费 网络爱好者都非常热衷于通过多拨来提升网速 但是现在绝大部分地区都限制了同时拨号设备数量 为了能多拨只能使用稍微复杂的 并发多拨 的方法 并发多拨让多个虚拟wan同时拨号 在运营商的账号在线检测还没
  • 手动下载maven依赖

    最近做SpringBoot项目时 需要添加spring boot admin starter server 依赖 刷新Maven后提示找不到这个依赖的版本 尝试各种办法 更换私服地址 删除缓存等 后是还是无法下载 只能到Maven的中央仓库
  • C语言超市计价收款系统

    学习一个月的C语言 写了一个简易的超市计价收款系统 源码如下 include
  • Anaconda常用操作命令

    Anaconda常用命令操作指南 参考链接 Anaconda完全入门指南 Anaconda常用命令总结 1 更换国内像源 conda config add channels https mirrors tuna tsinghua edu c
  • OMNI USDT 0.12.0 环境部署

    文章目录 一 生成Omni Core v0 12 0版本镜像 二 启动Omni Core v0 12 0版本容器 一 生成Omni Core v0 12 0版本镜像 编写Dockerfile cd opt docker usdt image
  • 软件测试中静态测试和动态测试的区别

    1 测试的部分不同 静态测试是指测试不运行的部分 只是检查和审阅 如规范测试 软件模型测试 文档测试等 动态测试是通常意义上的测试 也就是运行和使用软件 2 测试方式不同 静态测试 通过评审文档 阅读代码等方式测试软件称为静态测试 通过运行
  • 【Python入门系列】第十四篇:Python Web开发

    文章目录 前言 一 PythonWeb开发简介 二 开发准备工作 三 开发步骤 四 开发案例 1 使用Flask框架创建一个简单的Web应用程序 2 使用Django框架创建一个简单的待办事项应用程序 3 使用Flask框架创建一个简单的博
  • 【数据挖掘】(一)用jupyter编程

    为熟悉jupyter 找了一本书练习 参考资料 Python数据挖掘入门与实践 数据集 https github com packtpublishing learning data mining with python 第一行代码 impo
  • 测试用例设计方法

    一 等价类划分 二 边界值分析法 三 场景法 四 判定表 五 因果图 六 错误推测法 七 正交试验法 一 等价类划分 定义 依据需求将输入划分成若干个等价类 从等价类中选定一个测试用例 如果该用例通过 则表明整个等价类通过 适用范围 适用于
  • MYSQL常见查询-SELECT

    1 查看某一产品销量城市排行榜前10名 并展示其同环比 思路 取出今日 昨日 上周该商品的销量 通过开窗函数计算同环比 代码 SELECT FROM SELECT n FIRST VALUE n num OVER PARTITION by
  • Ubuntu:vim键盘上下左右按键变ABCD

    原因 ubuntu自带vi不完整导致 解决方法一 sudo apt get remove vim common sudo apt get install vim 解决方法二 sudo apt get install vim gtk
  • 在Mac上配置Vue开发环境

    因为Vue是NodeJS的模块 要想使用Vue需要先安装NodeJS 在Mac中安装NodeJS通过brew包管理器就会很方便 因为访问源速度问题建议使用5 阿里 Homebrew开源项目地址 https gitee com cunkai
  • 抱抱脸(hugging face)教程-中文翻译-分享一个模型

    分享一个模型 最后两个教程展示了如何使用 PyTorch Keras 和 Accelerate 优化分布式设置的模型 下一步就是把你的模型公之于众 我们相信公开分享知识和资源 使人工智能大众化 我们鼓励你考虑与社区分享你的模式 以帮助其他人
  • 史上最全!Selenium 录制脚本+八种元素定位方式+具体代码演示

    话不多说 先附上练习的所有代码链接 link 文章目录 引言 什么是自动化测试 一 selenium定义 二 使用selenium IDE录制脚本 三 元素的定位方式 1 id gt find element by id 2 name gt
  • 欧拉筛法代码及数学原理

    数学原理 首先 从 2 开始 把 2 的倍数都标记为合数 然后把下一个未标记的数 3 标记为素数 再把 3 的倍数标记为合数 接着把下一个未标记的数 5 标记为素数 再把 5 的倍数标记为合数 以此类推 直到标记到 N 为止 在标记的过程中
  • Java #{} 和 ${} 的含义及区别

    表示一个占位符 向占位符输入参数 MyBatis 会自动进行 Java 类型和 jdbc 类型的转换 且不需要考虑参数的类型 以预编译的方式传入 可以有效的防止 SQL 注入 提高系统安全性 例如 传入字符串 MyBatis 最终拼接好的
  • 学会了c语言怎么编程,三天学会C语言编程

    本文试图通过上中下三篇文章引领大家进入C语言的世界 C语言是一个非常古老 1972年发明 的语言了 想必大家都有所了解 没有了解也没关系 C语言以难学和难以使用着称 想用好C语言更是难上加难 本文不假设读者有任何其它编程语言的基础 但需要了
  • 安装或卸载Anaconda后Windows自带的cmd命令行窗口会闪退

    问题现象 Anaconda初次安装或者重装后 如果打开Windows系统自带的cmd命令窗口 会马上闪退 Win R 输入cmd就闪退 Win R 输入cmd d可以正常打开 解决方案 网上很多给出的解决方案是 按Win R 输入reged
  • Invalid configuration `x86_64-unknown-linux-gnu': machine

    checking host system type Invalid configuration x86 64 unknown linux gnu machine x86 64 unknown not recognized 在做 config

随机推荐

  • Gamemaker studio2经验(4)——打字机效果

    问题概述 在很多游戏中 算了实在不好意思写引言了 就直说啦 如果你是UT粉 想用gm搞搞UT的同人作品但是又无从下手 那么请看过来 对于RPG类游戏 文字交流系统是不可或缺的 但是gm的文字系统 实在有些一言难尽 那没办法 谁让gm是真爱呢
  • 本地计算机架设http服务器,Http File Server(简易Http服务器服务端)

    如果您感觉配置IIS和apache等web服务端太麻烦的话 不妨试试Http File Server Http File Server是一套简易的Http服务器服务端系统 它无需安装 运行后简单配置一下就可以开放80端口了 与传统Web服务
  • iframe嵌入本地视频或者http链接视频禁止自动播放

    本地视频禁止自动播放 http链接视频禁止自动播放 在视频链接后加上 autoplay 0即可
  • windows连网疑问

    如果我的笔记本连接一台无线AP 当我不更改SSID 而只去更改密码的时候 为什么会连不上 当我把电脑里关于这个AP的连接信息删掉之后 就能够连接上了 所以 是跟之前保存的信息有关系的 但其中的作用原理不是很清楚 不过 我想 这必定是wind
  • ubuntu16.04下teamviewer启动不显示界面

    导读 在Ubuntu下使用teamviewer的时候 通过命令行输入 teamviewer 不会出现界面 就像这样 没有显示teamviewer的界面 adminuser adminuser pc teamviewer Init Check
  • linux 系统调用

    5 1 5 如何使用系统调用 如图5 2所示 用户应用可以通过两种方式使用系统调用 第一种方式是通过C库函数 包括系统调用在C库中的封装函数和其他普通函数 图5 2 使用系统调用的两种方式 第二种方式是使用 syscall宏 2 6 18版
  • VUE路由的hash模式与history模式的区别

    hash模式url带 号 history模式不带 号 通过history api 我们丢掉了丑陋的 但是它也有个问题 不怕前进 不怕后退 就怕刷新 f5 如果后端没有准备的话 因为刷新是实实在在地去请求服务器的 不玩虚的 在hash模式下
  • 使用fio测试磁盘I/O性能

    测试准备 工具 fio Flexible IO Tester 官方网站 http freecode com projects fio http brick kernel dk snaps 注意 性能测试建议直接通过写裸盘的方式进行测试 会得
  • JavaScript之js对象终极序列化(可序列化函数)

    案例官方地址 http www rainx org 2017 01 04 javascript js E5 AF B9 E8 B1 A1 E7 BB 88 E6 9E 81 E5 BA 8F E5 88 97 E5 8C 96 你是否遇到了
  • PTA 习题3.6 一元多项式的乘法与加法运算

    文章目录 题目 1 加法多项式 2 乘法多项式 代码 题目 设计函数分别求两个一元多项式的乘积与和 输入格式 输入分2行 每行分别先给出多项式非零项的个数 再以指数递降方式输入一个多项式非零项系数和指数 绝对值均为不超过1000的整数 数字
  • win11安装linux子系统配置C++开发环境的系列教程

    本期主要记录在Win11系统下安装ubuntu20 04LTS并完成相关配置 在整个过程中 博主也踩过了不少坑 参考了许多优秀作者的资源 将配置过程整理总结如下 第一步 配置安装ubuntu 其实主要做的事情就是 调整 Win 配置 下载配
  • nginx参数tcp_nopush和tcp_nodelay

    参数说明 你的数据传输并不需要总是准确地遵守某一选项或者其它选择 在那种情况下 你可能想要采取更为灵活的措施来控制网络连接 在发送一系列当作单一消息的数据之前设置TCP CORK 而且在发送应立即发出的短消息之前设置TCP NODELAY
  • Mybatis 个人总结

    目录 MyBatis 框架 第一章 框架的概述 1 三层架构 2 三层架构处理的流程 3 为什么使用三层架构 4 三层框架模式和框架 5 框架 6 框架解决的问题 7 jdbc访问数据库的优缺点 8 Mybatis框架 第二章 Mybati
  • H3C配置ssh密码认证登录

    注 在用户使用SSH登录交换机时 交换机对所要登录的用户使用密码对其进行身份验证 生成RSA和DSA密钥对 H3C rsa local key pair create H3C public key local create dsa 设置用户
  • MinGW-w64 C/C++编译器下载和安装

    目录 1 安装包下载 方法一 下载Installer在线安装 费时 方法二 下载离线包 较快 2 环境变量配置 3 小试牛刀 如果电脑没有安装MinGW w64 C C 编译器 在Windows的命令窗口键入gcc会提示 gcc 不是内部或
  • 单元测试_接口测试用例设计思路

    下图是 单元测试之道Java版 的脑图笔记 加上在工作中的总结
  • 重置标准输出

    import org apache log4j Appender import org apache log4j Logger import org apache log4j WriterAppender import java io Bu
  • 配置IDEA下springboot项目显示Run Dashboard面板

    在 idea workspace xml 中搜索
  • Websocket协议解析与QT代码示例

    文章目录 1 Websocket是什么 2 Websocket诞生的原因 3 Websocket与HTTP的相同点与不同点 相同点 不同点 4 Websocket实现原理 5 Websocket代码示例 效果图 核心代码 6 Wiresha
  • openldap 2.3 安装配置详解

    安装逻辑 1 安装配置master 初始化数据 将系统账户导入ldap 详细见openldap自我整理下的 openldap安装注意 配置master slapd conf文件 replogfile var lib ldap openlda