当前位置: 首页 > news >正文

十年JAVA搬砖路——Linux搭建Ldap服务器。

1.安装命令

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

2.启动ldap

systemctl start slapd
systemctl enable slapd

3.修改密码

slappasswd
Aa123456

获得返回的密码加密密码串: {SSHA}DkSw0+43+u4PK7c7F1GtoubEWHnrz3bG

  1. 去slapd.d 目录 创建db.ldif 文件
cd /etc/openldap/slapd.d
vim db.ldif

文件内容:

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

#各个命令的说明
{
第一条语句修改了olcSuffix属性,该属性表示LDAP目录的后缀(基础DN)。它被替换为"dc=ricman,dc=localhost"。

第二条语句修改了olcRootDN属性,该属性表示LDAP目录的根用户(管理员)的区别名称(DN)。它被替换为"cn=Manager,dc=ricman,dc=localhost"。

第三条语句添加了一个新的属性olcRootPW,该属性表示根用户的密码。密码以哈希值形式提供({SSHA}KUYZ4irDCPN8seoOg1zNNVzh70jVr1c8)。

}

5.运行ldapmodify 命令替换系统文件

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

6.进入目录 cn=config 创建 monitor.ldif 文件

/etc/openldap/slapd.d/cn=config
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

7.运行 ldapmodify 使得monitor 文件生效

ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
  1. 创建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

9.创建 base.ldif 文件

vim 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

#语句说明
{
以下是上述语句的中文意思:

第一条语句创建了一个名为"dc=ricman,dc=localhost"的条目,表示一个域(domain)。该条目具有top和domain两个objectClass。

第二条语句创建了一个名为"cn=Manager,dc=ricman,dc=localhost"的条目,表示一个组织角色(organizationalRole)。该条目具有organizationalRole的objectClass,并且具有cn(名称)和description(描述)属性。

第三条语句创建了一个名为"ou=People,dc=ricman,dc=localhost"的条目,表示一个组织单位(organizationalUnit)。该条目具有organizationalUnit的objectClass,并且具有ou(组织单位名称)属性。

第四条语句创建了一个名为"ou=Group,dc=ricman,dc=localhost"的条目,表示一个组织单位(organizationalUnit)。该条目具有organizationalUnit的objectClass,并且具有ou(组织单位名称)属性。

LDIF语句的作用如下:

  1. dn: dc=ricman,dc=localhost
    dc: ricman
    objectClass: top
    objectClass: domain

    这条语句创建了一个域(domain)条目,其区别名称(DN)为"dc=ricman,dc=localhost"。该域具有属性"dc"设置为"ricman",并且具有"top"和"domain"两个对象类。

  2. dn: cn=Manager,dc=ricman,dc=localhost
    objectClass: organizationalRole
    cn: Manager
    description: LDAP Manager

    这条语句创建了一个组织角色(organizationalRole)条目,其区别名称为"cn=Manager,dc=ricman,dc=localhost"。该角色具有对象类"organizationalRole",并且具有属性"cn"设置为"Manager"和"description"设置为"LDAP Manager"。

  3. dn: ou=People,dc=ricman,dc=localhost
    objectClass: organizationalUnit
    ou: People

    这条语句创建了一个组织单位(organizationalUnit)条目,其区别名称为"ou=People,dc=ricman,dc=localhost"。该单位具有对象类"organizationalUnit",并且具有属性"ou"设置为"People"。

  4. dn: ou=Group,dc=ricman,dc=localhost
    objectClass: organizationalUnit
    ou: Group

    这条语句创建了另一个组织单位(organizationalUnit)条目,其区别名称为"ou=Group,dc=ricman,dc=localhost"。该单位具有对象类"organizationalUnit",并且具有属性"ou"设置为"Group"。

这些语句通常用于定义LDAP目录的结构和组织,包括域(domain)、管理角色、用户和组的组织单位。
}

  1. 运行 ldapadd 命令生效 base.ldif 文件
ldapadd -x -W -D "cn=Manager,dc=ricman,dc=localhost" -f base.ldif

需要输入密码,密码为一开始设置的Aa123456

11.Ldap Admin工具链接
依次点击start—connect—New connection,然后输入 Host,Base以及用户名与密码,如下图所示,然后test connection。

在这里插入图片描述

相关文章:

十年JAVA搬砖路——Linux搭建Ldap服务器。

1.安装命令 yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel2.启动ldap systemctl start slapd systemctl enable slapd3.修改密码 slappasswd Aa123456获得返回的密码加密密码串: {SSHA}DkSw0…...

论文 辅助笔记:t2vec train.py

1 train 1.1 加载training和validation数据 def train(args):logging.basicConfig(filenameos.path.join(args.data, "training.log"), levellogging.INFO)设置了日志的基本配置。将日志信息保存到名为 "training.log" 的文件中日志的级别被设置为 INFO&…...

同时标注分割、检测、多分类属性的工具

1、 https://blog.csdn.net/minstyrain/article/details/82385580/ 2、 https://zhuanlan.zhihu.com/p/656703406...

LeetCode75——Day24

文章目录 一、题目二、题解 一、题目 2390. Removing Stars From a String You are given a string s, which contains stars *. In one operation, you can: Choose a star in s. Remove the closest non-star character to its left, as well as remove the star itself.…...

B端企业形象设计的正确姿势,你学会了吗?

如今,企业形象设计在B端市场中变得越来越重要。它是企业与客户之间建立联系的桥梁,也是吸引目标客户的重要方式。为了帮助您打造一个独特而专业的企业形象设计,我将为您提供十个步骤。 步骤1:了解企业定位和目标 在设计B端企业形…...

我在Vscode学OpenCV 基本的加法运算

根据上一篇我们可知__图像的属性 链接:《我在Vscode学OpenCV 处理图像》 属性— API 形状 img.shape 图像大小 img.size 数据类型 img.dtype  shape:如果是彩色图像,则返回包含行数、列数、通道数的数组;如果是二值图像或者灰度…...

数据结构与算法解析(C语言版)--线性表

本栏目致力于从0开始使用纯C语言将经典算法转换成能够直接上机运行的程序,以项目的形式详细描述数据存储结构、算法实现和程序运行过程。 参考书目如下: 《数据结构C语言版-严蔚敏》 《数据结构算法解析第2版-高一凡》 软件工具: dev-cpp 0…...

pthread 名字设置及线程标识符获取

pthread 名字设置及ID获取 pthread_setname_np 函数原型: int pthread_setname_np(pthread_t thread, const char *name);thread:要设置名称的线程标识符(pthread_t)。name:要设置的线程名称(以字符串形式…...

17、Flink 之Table API: Table API 支持的操作(1)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

Ubuntu:解决PyCharm中不能输入中文或者输入一个中文解决方法

1.问题: Ubuntu22.04中,在pycharm里打字输入中文,每次都是只能输入第一个中文,后面输入的都变成了英文字母。。。无论咋调输入法,都没用,反正除了第一个字其他的输进去都是英文,而且汉字下面还…...

Vue3.0 reactive与ref :VCA模式

简介 Vue3 最大的一个变动应该就是推出了 CompositionAPI,可以说它受ReactHook 启发而来;它我们编写逻辑更灵活,便于提取公共逻辑,代码的复用率得到了提高,也不用再使用 mixin 担心命名冲突的问题。 ref 与 reactive…...

项目实战 | 使用Linux宝塔面板搭建商城公众号小程序基础框架

项目实战 | 使用Linux宝塔面板搭建商城公众号&小程序基础框架 1. 小程序/公众号运行的必备条件2. 准备阿里云ECS主机3. 宝塔面板基本配置4. 通过宝塔面板安装相关服务5. 新建站点并进行初始配置6. 服务配置6.1. PHP配置6.2. 数据库配置6.3. Redis配置6.4. 消息队列Supervis…...

IDEA远程调试代码

IDEA->RUN->Edit Configurations 端口随便选一个,选择调试模块,然后用IDEA生成的命令调试 java -agentlib:jdwptransportdt_socket,servery,suspendn,address*:8081 -jar backend-1.18.11.jar &...

目标检测 图像处理 计算机视觉 工业视觉

目标检测 图像处理 计算机视觉 工业视觉 工业表盘自动识别(指针型和数值型)智能水尺识别电梯中电动车识别,人数统计缺陷检测(半导体,电子元器件等)没带头盔检测基于dlib的人脸识别抽烟检测和睡岗检测/驾驶疲…...

【1day】宏景OA get_org_tree.jsp接口SQL注入漏洞学习

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录...

设计模式-迭代子模式

迭代子模式是一种行为设计模式,它提供了一种访问和遍历聚合对象中各个元素的方法,而不需要暴露聚合对象的内部表示。迭代子模式将遍历聚合对象的责任交给了迭代子对象,从而实现了聚合对象和迭代子对象的解耦。 在Java中,迭…...

绿色通道 快速理赔,渤海财险用实干书写服务品牌

7月底,受台风“杜苏芮”影响,北京市连续强降雨,西部、西南部、南部遭遇特大暴雨,房山、门头沟、丰台等地陆续出现山洪暴发现象。      灾害无情人有情,为更好地保障人民群众生命财产安全,渤海财险北京分…...

微信小程序怎么制作?【小程序开发平台教学】

随着移动互联网的快速发展,微信小程序已经成为了人们日常生活中不可或缺的一部分。从购物、支付、出行到社交、娱乐、教育,小程序几乎涵盖了我们生活的方方面面。那么,对于有营销需求的企业商家来说,如何制作一个自己的微信小程序…...

HTML、CSS和JavaScript,实现换肤效果的原理

这篇涉及到HTML DOM的节点类型、节点层级关系、DOM对象的继承关系、操作DOM节点和HTML元素 还用到HTML5的本地存储技术。 换肤效果的原理:是在选择某种皮肤样式之后,通过JavaScript脚本来加载选中的样式,再通过localStorage存储。 先来回忆…...

2103. 环和杆

2103. 环和杆 难度: 简单 来源: 每日一题 2023.11.02 总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个…...

保姆级教程:在Ubuntu 24.04上用QEMU桥接网络,让虚拟机秒连外网

在Ubuntu 24.04上实现QEMU虚拟机与宿主机网络互通的终极指南 对于需要在本地环境测试国产操作系统或运行隔离开发环境的开发者来说,QEMU虚拟化方案因其轻量高效而备受青睐。但让虚拟机与宿主机网络互通往往成为新手的第一道门槛。本文将彻底解决这个问题——通过桥接…...

cool-admin(midway版)数据权限缓存:基于用户角色的权限数据预加载

cool-admin(midway版)数据权限缓存:基于用户角色的权限数据预加载 【免费下载链接】cool-admin-midway 🔥 cool-admin(midway版)一个很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js…...

GZDoom未来展望:10个开源游戏引擎的发展趋势和路线图

GZDoom未来展望:10个开源游戏引擎的发展趋势和路线图 【免费下载链接】gzdoom GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities 项目地址: https://gitcode.com/gh…...

西门子1200控制下的单部11层电梯仿真系统:完全电脑操作、清单与组态HMI界面解析

.单部11层电梯,基于西门子1200 不用实物即可仿真,仅需一台电脑,欢迎学习 清单:plc程序HMI组态画面wincc编写电气接线图硬件框架图io表报告 备需要报告的另加,主讲图纸不会细讲搞电梯仿真这事儿吧,说难也不…...

Python通达信数据接口实战指南:开源量化工具配置与优化全解析

Python通达信数据接口实战指南:开源量化工具配置与优化全解析 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx MOOTDX是一个高效实用的Python通达信数据接口库,为量化投资和…...

实战演练:基于Copaw下载的博客代码,在快马平台上快速构建并部署可访问的全栈应用

今天想和大家分享一个实战经验:如何基于Copaw下载的代码,在InsCode(快马)平台上快速构建并部署一个全栈博客应用。整个过程非常流畅,特别适合想快速验证想法的开发者。 项目背景与需求分析 最近在Copaw上找到一个博客系统的代码骨架&#x…...

终极Enformer基因表达预测指南:如何在10分钟内快速部署深度学习模型

终极Enformer基因表达预测指南:如何在10分钟内快速部署深度学习模型 【免费下载链接】enformer-pytorch Implementation of Enformer, Deepminds attention network for predicting gene expression, in Pytorch 项目地址: https://gitcode.com/gh_mirrors/en/enf…...

SimCLR揭秘:自监督学习中的对比学习艺术

1. 自监督学习与对比学习的革命性结合 第一次听说SimCLR这个名词时,我正被海量无标注图像数据的处理问题困扰。传统监督学习需要大量人工标注,成本高得吓人。而SimCLR的出现,就像给计算机视觉领域投下了一颗震撼弹——原来模型可以自己教自己…...

小白也能懂:将SPIRAN ART SUMMONER图像生成API封装成IDEA插件

小白也能懂:将SPIRAN ART SUMMONER图像生成API封装成IDEA插件 1. 为什么需要这个插件? 作为一名开发者,我经常遇到这样的场景:正在编写游戏角色设定文档时,突然需要一张概念图;设计UI界面时,想…...

D3KeyHelper:暗黑3效率提升工具的全方位应用指南

D3KeyHelper:暗黑3效率提升工具的全方位应用指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3KeyHelper是一款开源的暗黑3鼠标宏工具…...