Jenkins配置使用LDAP的用户和密码登录

news2024/12/23 23:10:28
# 检查配置文件是否正确
[root@localhost schema]# slaptest -u
62c6aafe ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
62c6aafe ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif"
config file testing succeeded # 成功

# 启动服务
[root@localhost schema]# systemctl enable --now slapd.service 


# 查看服务状态
[root@localhost schema]# systemctl status slapd.service 	~~~

一、搭建openLADP环境

1.下载安装

下载插件地址:

https://pkgs.org/search/?q=ldap

下载以下插件

[root@localhost ~]# ll /var/localrepo/
总用量 4388
-rw-r--r-- 1 root root  359796 11月 10 2021 openldap-2.4.46-18.el8.x86_64.rpm
-rw-r--r-- 1 root root  206276 11月 10 2021 openldap-clients-2.4.46-18.el8.x86_64.rpm
-rw-r--r-- 1 root root  829864 11月 10 2021 openldap-devel-2.4.46-18.el8.x86_64.rpm
-rw-r--r-- 1 root root 2263988 11月 10 2021 openldap-servers-2.4.46-18.el8.x86_64.rpm
-rw-r--r-- 1 root root  822872 5月  14 2023 phpldapadmin-1.2.6.6-1.el8.noarch.rpm

注意openldap几个插件之间的版本要一致

下载安装:

将上述插件都安装: yum -y install xx.rpm

2.配置参数

2-1.生成管理员密码

# 执行如下命令后,生成的是对密码进行加密后的字符串
slappasswd -s 123456

{SSHA}k6jzxUPpA9UN0d2VY5NZhqJPwmrLxfYt

将下述文件中框起来的内容改为自己的命名

2-2.修改monitor.ldif

vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
修改后:

# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 b3b6f871
dn: olcDatabase={1}monitor
objectClass: olcDatabaseConfig
olcDatabase: {1}monitor
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
 al,cn=auth" read by dn.base="cn=root,dc=xb,dc=hou" read by * none
structuralObjectClass: olcDatabaseConfig
entryUUID: 2011ffa8-fc18-103e-8142-d79dad983498
creatorsName: cn=config
createTimestamp: 20240831190817Z
entryCSN: 20240831190817.852578Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20240831190817Z

将红框中的部分改为你自己的配置


2-3.修改mdb.ldif

vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}mdb.ldif
修改后:

# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 0663050d
dn: olcDatabase={2}mdb
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=xb,dc=hou
olcRootDN: cn=root,dc=xb,dc=hou
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcMdbConfig
entryUUID: 20120b06-fc18-103e-8143-d79dad983498
creatorsName: cn=config
createTimestamp: 20240831190817Z
entryCSN: 20240831190817.852859Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20240831190817Z
olcRootPW: {SSHA}k6jzxUPpA9UN0d2VY5NZhqJPwmrLxfYt

2-4.拷贝db文件并修改所属组权限

[root@localhost /]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# 修改文件权限
[root@localhost /]# chown -R ldap:ldap /var/lib/ldap/

2-5配置ldap.conf

vim /etc/openldap/ldap.conf

#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.
BASE dc=xb,dc=hou
URI  ldap://192.168.137.121 ldap://192.168.137.121:666

#BASE   dc=example,dc=com
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT      12
#TIMELIMIT      15
#DEREF          never

# When no CA certificates are specified the Shared System Certificates
# are in use. In order to have these available along with the ones specified
# by TLS_CACERTDIR one has to include them explicitly:
#TLS_CACERT     /etc/pki/tls/cert.pem

# System-wide Crypto Policies provide up to date cipher suite which should
# be used unless one needs a finer grinded selection of ciphers. Hence, the
# PROFILE=SYSTEM value represents the default behavior which is in place
# when no explicit setting is used. (see openssl-ciphers(1) for more info)
#TLS_CIPHER_SUITE PROFILE=SYSTEM

# Turning this off breaks GSSAPI used with krb5 when rdns = false
SASL_NOCANON    on

将BASE, URI改为你的实际配置

2-6.启动服务

# 检查配置文件是否正确
[root@localhost schema]# slaptest -u
...略...
config file testing succeeded # 成功

# 启动服务
[root@localhost schema]# systemctl enable --now slapd.service 


# 查看服务状态
[root@localhost schema]# systemctl status slapd.service

注意:

登录后如果遇到下面的错误:

This base cannot be created with PLA.主要是在base.ldif导入的时候出现问题,最好使用自动生成的base.ldif进行导入,不要手动去创建。

[root@localhost ~]# vim base.ldif
#dn项
dn: dc=xb,dc=hou
#组织名
o: ldap
#对象类别
objectclass: dcObject
##对象类别
objectclass: organization


[root@localhost ~]# ldapadd -f /root/base.ldif -x -D cn=root,dc=xb,dc=hou -W

再重新登录试试

2-7.配置日志

[root@localhost ~]# vim log.ldif
# log.ldif内容:
dn: cn=config
changetype: modify
add: olcLogLevel
olcLogLevel: 32

# 导入文件
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -f log.ldif
[root@localhost ~]# systemctl restart rsyslog
[root@localhost ~]# systemctl restart slapd
# 依次执行
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldif
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldif
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/inetorgperson.ldif
[root@localhost ~]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/core.ldif


# 注意: 第一次添加ldapadd, 后面修改使用ldapmodify
ldapmodify -Y EXTERNAL -H ldapi:/// -f log.ldif
systemctl restart rsyslog
systemctl restart slapd
# 依次执行
ldapmodify -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldif
ldapmodify -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldif
ldapmodify -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/inetorgperson.ldif
ldapmodify -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/core.ldif

二、使用LDAP admin软件

下载地址: 官网的没注意看,我找了一个其他的下载渠道

LDAP Admin(LDAP管理工具)官方下载_LDAP Admin(LDAP管理工具)最新版v1.8.3.0免费下载_3DM软件

点击New Connection按钮

按下方示例填写

成功后会出现和Connection name名称一致的服务图标

点开,就会出现如下页面:

上面的org1,group,test,test2是连接成功后后新建的

简单的描述一下新建组织:

新建用户,新建组也直接看对应的英文User,Group去选就行了

test用户配置属性:

对用户添加密码

为了方便就写123456

三、Jenkins配置LDAP

Manage Jenkins  -> Security

点击[Test LDAP settings]按钮,输入用户名和密码,点击test按钮,

变绿了就表示成功了

退出登录,使用test用户登录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2095089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java注解和JDK新特性

1. 注解 1.1. 认识注解 Annotation:JDK1.5新提供的技术 编译检查:比如SuppressWarnings, Deprecated和Override都具有编译检查的作用替代配置文件:使用反射来读取注解的信息 注解就是代码里的特殊标记,用于替代配置文件&#…

四大集合之Set

一、Set基础知识 1. Set集合 1.1 HashSet Set集合区别于其他三大集合的重要特性就是元素具有唯一性,南友们记不住这个特性的话,有个易记的方法。Set集合为什么要叫Set呢?因为Set集合的命名取自于我们小学数学里的集合论(Set Th…

SPI(硬件协议)

1 SPI硬件外设协议 2 SPI框图 3 硬件SPI数据收发流程 1 发送数据,同时接收数据,相互配合,可以实现数据流不间断 2 全双工SPI,发送和接收数据寄存器分开,可以同时进行 4 spi传输框图 1 速度快 2 速度慢,容…

软考中项拿证利器:系统集成项目管理工程师(第3版)一站通关

指尖疯编著的《系统集成项目管理工程师(适用第3版大纲)一站通关》目前现货已经上线各大电商平台,您可以在任一电商搜索《系统集成项目管理工程师(适用第3版大纲)一站通关》即刻找到。 出版中项一站通关完全是机缘巧合&…

Nginx: 性能优化之提升CPU效率以及TCP的三次握手和四次挥手

提升利用CPU的效率 1 )CPU的调度机制 现在来看下 linux中 CPU的一个调度机制 假设现在系统上有只有一颗CPU,而linux系统是一个多任务的一个操作系统 它允许我们各个不同的用户允许在同一个操作系统上执行很多个进程 单核CPU肯定不可能同时去执行这样一…

5.图论.题目2

5.图论.题目2 题目8.字符串接龙9.有向图的完全可达性10.岛屿的周长11.寻找存在的路径12.冗余连接113.冗余连接214.寻宝 题目 8.字符串接龙 题目链接 本题的直观思路如下图所示;但该题有两个问题:1.图中的线是如何连接起来的 2.如何确定起点到终点的最…

《JavaEE进阶》----4.<SpringMVC①简介、基本操作(各种postman请求)>

本篇博客讲解 MVC思想、及Spring MVC(是对MVC思想的一种实现)。 Spring MVC的基本操作、学习了六个注解 RestController注解 RequestMappering注解 RequestParam注解 RequestBody注解 PathVariable注解 RequestPart注解 MVC View(视图) 指在应⽤程序中…

数据同步的艺术:探索PostgreSQL和Redis的一致性策略

作者:后端小肥肠 🍇 我写过的文章中的相关代码放到了gitee,地址:xfc-fdw-cloud: 公共解决方案 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 1. 前言 在当今高度数字化的世界中,应用程…

ACL学习笔记

1.ACL快速配置 需求:拒绝PC 1访问PC 3 (1)配置PC PC 1: PC 2: PC 3: (2)配置R1的接口IP信息 sys sysname R1 undo info-center enable interface GigabitEthernet0/0/0 ip address 192.168.1.1 255.255.255.0 qui…

超声波智能水表多少钱一个?

超声波智能水表的价格因品牌、功能、规格等因素而异,就拿深圳合众致达科技有限公司智能水电表厂家的超声波智能水表DN15口径产品举例,价格为399元起。具体价格需根据实际需求来确定。 一、影响价格的主要因素 -技术含量:具备远程数据传输、…

DSOJ-id12

1.保留几位小数 #include <iostream>#include <iomanip> //必须包含这个头文件using namespace std;void main( ){ double a 3.141596;cout<<fixed<<setprecision(3)<<a<<endl; //输出小数点后3位 2. 使用了未初始化的局部变量 Point* …

如何使用小乌龟清除认证缓存、还原版本、定位及常用开发工具集成

&#x1f600;前言 本篇博文是关于如何使用小乌龟清除认证缓存、还原版本、定位及常用开发工具集成&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大…

openGuass之CTE Reuse

一. 前言 ​ CTE 是指with的公共表达式&#xff0c;如下所示是个CTE样例&#xff1a; ​ CTE表达式往往在同一条sql中多次被重复引用&#xff0c;如上图所示的cte被引用了两次&#xff08;c1 和 c2&#xff09;&#xff0c;我们称为2个CTE实例。 ​ 本文只要…

Windows系统Nginx下载安装配置 运行错误处理

Nginx是一款轻量级的web 服务器/反向代理 服务器。本篇文章主要是nginx的下载安装&#xff0c;处理运行中遇到的问题&#xff0c;配置反向代理。主要分为两部分&#xff1a;下载安装和配置。 目录 1.下载安装 2.nginx配置反向代理 1.下载安装 nginx官网&#xff1a;nginx: …

新160个crackme -044-tsrh-crackme

运行分析 提示去除NAG 不去除NAG也能进入主窗口&#xff0c;需要破解Name和Serial PE分析 ASM程序&#xff0c;32位&#xff0c;壳未知 去除NAG ida搜索字符串&#xff0c;发现NAG弹窗标题字符串&#xff0c;双击进入函数 找到了messagebox&#xff0c;即NAG位置00401079 打开x…

网络压缩之动态计算(dynamic computation)

动态计算希望网络可以自由 地调整它需要的计算量。为什么期待网络可以自由地调整它需要的计算量呢? 因为有时候我 们可能同样的模型会想要跑在不同的设备上面&#xff0c;而不同的设备上面的计算资源是不太一样的。所以期待训练好一个网络以后&#xff0c;放到新的设备上面&am…

Python编程基础知识,让编程基础更加扎实(输出个人简介)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

考研--数学(相关公式)

解析几何 知识点1 A(x1,y1) B(x2,y2) 则AB长度 |AB| A、B中点的坐标 &#xff08;&#xff0c;) 知识点2 方程求解 ①点斜式&#xff1a; y-y0k(x0-x) ②斜率式&#xff1a; ykxb ③两点式&#xff1a; …

【笔记篇】Davinci Configurator CanNm模块

目录 1 简介1.1 架构概览2 功能描述2.1 特性2.2 初始化2.3 状态机2.3.1 网络模式2.3.1.1 重复报文状态2.3.1.2 正常状态2.3.1.3 准备休眠状态2.3.2 预休眠模式2.3.3 总线休眠模式2.4 被动模式(对于被动节点)2.5 NM报文格式2.6 NM报文发送2.6.1 重试第一次报文请求2.7 降低总线…

集成电路学习:什么是I2C内部集成电路总线

I2C&#xff1a;内部集成电路总线 I2C&#xff0c;全称Inter-Integrated Circuit&#xff0c;即内部集成电路总线&#xff0c;是由飞利浦公司&#xff08;现为恩智浦半导体&#xff09;在上世纪八十年代初开发的一种同步的串行通信总线。它以其接线简单、硬件实现容易、可扩展性…