源码安装OpenLDAP使ldapsearch AD支持GSSAPI

Cyrus SASL源码安全认证开发实战 Cyrus SASL 2.1.23 是一个维护版本,主要聚焦于修复已知问题、提升兼容性,并对现有功能进行微调,确保其在现代系统和协议环境中的稳定运行。SASL插件机制的核心在于其模块化架构设计,通过插件的方式将不同的认证机制独立封装,使得主程序无需关心具体认证逻辑的实现细节。这种设计不仅提高了系统的灵活性,也增强了安全性与可维护性。首先确定插件的认证机制名称,例如MYAUTH,并定义其认证流程(如是否支持安全层、是否需要加密传输等)。 阅读详情

需要的软件

openldap-2.4.13
BerkeleyDB-4.6.21
cyrus-sasl-2.1.26
krb5-1.11.1


OpenLDAP和BerkelyDB有版本相关性,上面列出的版本可以兼容。其余2个用最新版即可。

安装步骤

1. 安装BerkeleyDB

tar xvfz db-4.6.21.tar.gz
cd db-4.6.21/build_unix/
../dist/configure -prefix=/usr/local/BerkeleyDB
make
make install

2. 安装基本openldap

export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/BerkeleyDB/lib"
export LD_LIBRARY_PATH="/root/db-4.6.21/build_unix/.libs"
cd openldap-2.4.13
./configure --prefix=/root/openldap
make depend
make
make test  
make install

3. 安装krb5

系统自带的krb5可能不支持gssapi,自己装一个比较保险。
./configure --prefix=/root/krb5
make
遇到yacc: Command not found,安装bison解决问题。
make install

4. 安装cyrus-sasl

使用自己编的krb5,系统自带的可能不支持GSSAPI。所以把/root/krb5/lib加入LD_LIBRARY_PATH。
export LD_LIBRARY_PATH="/root/wlu/db-4.6.21/build_unix/.libs:/root/krb5/lib“
 
由于默认会去/usr/lib/sasl2找plugin,而安装是指定了prefix,所以还需要指定一下plugindir。
./configure --prefix=/root/sasl2 --with-openssl=/root/openssl --with-ldap=/root/openldap --with-gss_impl=mit --enable-gssapi=yes --with-plugindir=/root/sasl2/lib/sasl2
用 pluginviewer  | grep -i gssapi 检查gssapi是还被正确安装。(pluginviewer 是cyrus-sasl安装好后,生成的一个可执行文件)

5. 安装带sasl支持的openldap

把CPPFLAGS和LDFLAGS分别改成:
export CPPFLAGS="-I/usr/local/BerkeleyDB/include -I/root/sasl2/include -I/root/krb5/include -lgssapi_krb5 -lgssrpc"
export LDFLAGS="-L/usr/local/BerkeleyDB/lib -L/root/sasl2/lib -L/root/krb5/lib"
然后configure:
./configure --prefix=/root/openldap --with-cyrus-sasl --with-gssapi
之后的步骤就跟前面装openldap一样了。 

LDAPSEARCH

参考:http://www.spinics.net/lists/cyrus-sasl/msg01226.html
先通过kinit获得TGT,然后再ldapsearch。
可以用 ldapsearch -x -LLL -s "base" -b "" supportedSASLMechanisms -h 10.155.60.241 看AD支持哪些SASL:
dn:
supportedSASLMechanisms: GSSAPI
supportedSASLMechanisms: GSS-SPNEGO
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: DIGEST-MD5
用 ldapsearch -Y GSS-SPNEGO -LLL -s "base" -b "" supportedSASLMechanisms -h 10.155.60.241 做测试。

kinit时遇到问题:
a) kinit: Cannot find KDC for requested realm while getting initial credentials
解决方法,修改/etc/krb5.conf:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
 
[libdefaults]
default_realm = DEV.CN
dns_lookup_realm = true  <-- false改成true
dns_lookup_kdc = true    <-- false改成true
ticket_lifetime = 24h
forwardable = yes
 
[realms]
DEV.CN = {
  kdc = 10.155.60.241:88           <-- 不用域名,用IP
  admin_server = 10.155.60.241:749 <-- 不用域名,用IP
  default_domain = DEV.CN
}
 
[domain_realm]
.dev.cn = DEV.CN
dev.cn = DEV.CN
 
[appdefaults]
pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
}
b) kinit: KDC reply did not match expectations while getting initial credentials
解决办法:
把域名改成大写 - kinit xxx@DEV.CN

ldapsearch时遇到的问题:
ldap_sasl_interactive_bind_s: Local error (-2)
抓包发现DNS反向查询失败。于是增加DNS反向查询的记录。
改完后,通过抓包发现bind成功,可是又遇到新的问题:
ldap_sasl_interactive_bind_s: More results to return (-15)
改用 ldapsearch -Y GSSAPI -LLL -s "base" -b "" supportedSASLMechanisms -h 10.155.60.241 后,问题解决。

事后分析:
cyrus-sasl+openldap根本不支持 GSS-SPNEGO 去search AD。
在2.1.26的cyrus-sasl的release note里有这样一句话:
- Added support for GSS-SPNEGO SASL mechanism (Unix only), which is also HTTP capable
不知道意思是不是GSS-SPNEGO只支持HTTP,不支持LDAP。

参考:

Rocky Linux 9 远程桌面配置全攻略:从零搭建XRDP服务(含防火墙设置) 本文提供了在Rocky Linux 9上从零开始配置XRDP远程桌面服务的完整指南。详细介绍了系统准备、XRDP服务安装、防火墙与SELinux安全设置、多用户性能优化以及多平台客户端连接实测。重点解决了使用Windows远程桌面协议(RDP)连接Rocky Linux时常见的配置难点与安全问题,帮助用户获得稳定高效的图形化远程访问体验。 阅读详情

相关推荐

基于AutoDL复现A-LOAM

Ceres solver 是谷歌开发的一款用于非线性优化的库,在谷歌的开源激光雷达slam项目cartographer中被大量使用。在autodl上面租服务器,地区我租的重庆A区的,GPU我选择的是RTX4090,基础镜像选择的是Miniconda / conda3 / 3.8(ubuntu20.04)/11.6。在AutoDL中我使用的方式是先将该数据集先下载到自己的电脑上,然后再上传到虚拟机中。用MobaXterm解决该问题!搜到的一个解决方式:该问题属于ceres版本问题,将A-LOAM下的。

m0_61281610的博客 1942

使用CDH Manager 安装Kerberos服务——之初始化失败

原文:http://blog.sina.com.cn/s/blog_6ccfa4f30100v06s.html我碰到了:第一、二No.1# kinit admin@test.comkinit:Cannot find KDC for requested realm whilegetting initial credentialsAdding "dns_lookup_kdc =...

weixin_34221775的博客 1479

【ZZULIOJ】郑州轻工业大学oj题解整合

写在前面 关于ZZULIOJ题解 学习编程,想要巩固无非就是刷题或者做项目,然后因为我大一开始是刷郑轻的题目,就想着自己整合一下自己写的题目。既是复习也是笔记吧。 题解(内有题目描述) 1000 整数a+b 1001 植树问题 1002 简单多项式求值 1003 两个整数的四则运算 1004 三位数的数位分离 1005 整数幂 1006 求等差数列的和 1007 鸡兔同笼 1008 美元和人民币 1009 求平均分 1010 求圆的周长和面积 1011 圆柱体表面积 1012 求绝对值 1013 求两点间

蒟蒻乱写的博客 29万+

liunx 加入域控_linux下利用samba加入windows域(文字版)_91Ri.org

工作需求,需要samba服务器使用Active Directory来进行身份认证。折腾了一段时间,终于配置起来了。Windows 2003域环境的搭建不多说了,网上很多教程,而且都是点鼠标的操作,没啥技术含量,着重讨论Linux的Samba服务器支持域认证的配置过程。Win 2003 Server作为域控制器,客户端提交的认证请求和授权的过程是通过Kerberos5协议来完成的,所以要让Linux...

weixin_39542742的博客 890

从DIY到实战:手把手教你搭建一个媲美吉时利2450的nA级电流源表(附原理图与避坑指南)

本文详细解析如何从零打造nA级精密电流源,涵盖核心设计原理、PCB布局技巧、热电偶效应应对及校准验证体系。通过低成本替代方案和优化设计,实现媲美商用源表的性能,特别适合硬件爱好者和独立开发者。文章还提供原理图与避坑指南,助你轻松搭建高精度电流源系统。

weixin_42656416的博客 292

Three 之 three.js (webgl)绘制物体模型尺寸虚线包围框工具简单封装 DashLinesBoxTool

Three js 开发的一些知识整理,方便后期遇到类似的问题,能够及时查阅使用。本节介绍, three.js (webgl) 中绘制物体模型尺寸虚线包围框工具简单封装 DashLinesBoxTool,主要是给实物绘制线框,有点像AI 识别正方形包裹框的效果。其中,如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。

仙魁XAN 2106

【Kerberos】kerberos认证常见错误介绍

本节按字母顺序 (A-M) 列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息。 备注:下面这些错误有部分是通用的错误,所以解决方法并不一定适用所有场景,具体的解决方案是需要具体分析。不能一概而论。 All authentication systems disabled; connectio

wk022的专栏 5万+

【Python百日进阶-Web开发-Feffery】Day385 -“一起Dash”训练营Lesson-07_利用fac构建表单(上)

文章目录前言:fac是什么?“人生苦短,我用Python;Web开发,首选Feffery!”↓↓↓ 今日笔记 ↓↓↓一、费老师课堂1.1 什么是表单1.2 页面效果1.3 课堂源码二、课后作业2.1 页面效果2.2 项目源码 前言:fac是什么? feffery-antd-components(简称fac),是国内大佬费弗里(Feffery)老师基于著名的React UI组件库ant design进行二次开发,将ant design中的诸多实用组件及特性引入Dash,帮助开发者使用极低的纯Python代

专注于医院数据分析技术与系统开发的创作与分享。 251

kinit: KDC can‘t fulfill requested option while renewing credentials

1,检查配置文件/var/kerberos/krb5kdc/kdc.conf,在[realms]下需要有max_renewable_life = 7d。为啥推荐使用klist,执行命令需要和和klist中的Default principal: root@AM.COM对应。3.klist 查看cache文件 或者在/etc/krb5.conf中查看相应的配置文件,推荐使用klist。在测试集群上装上了kerberos,今天同事需要使用kinit -R 命令,在执行时报错。8.重新执行kinit -R成功。

jzy3711的博客 3956

S7-200SMART PLC中进行MODBUS RTU通信的3种方法(1)

S7-200SMART PLC中进行MODBUS RTU通信的3种方法(1)

Robot_PLC_HMI_Automation 4238

数据分析案例-2024年裁员数据集可视化分析

本实验数据集来源于Kaggle,原始数据集为2020-2024年裁员数据,共有3577条,12个变量,该数据集提供了不同公司的裁员信息。它包括以下几栏:Company:裁员发生的公司名称。Location_HQ:公司总部位置。Industry:公司所属的行业或部门。Laid_Off_Count:公司解雇的员工数量。Percentage:公司员工被解雇的百分比。Date:裁员发生的日期。Source:信息来源网址。Funds_Raised:公司募集资金的信息。

m0_64336780的博客 1万+

Kerberosr认证流程、配置介绍及手动部署、问题排查方向

因为个人负责公司大数据团队Kerberos组件的维护,在日常部署或使用过程中,开发和运维同学常常会遇到一些问题找过来排查。考虑到Kerberos是大数据环境中十分重要的一个服务,如果不了解其原理排查问题也会比较困难,这篇文章首先解释一下Kerberos的工作原理,接着介绍重要的配置参数,然后简要介绍一下手动部署的步骤,最后给出常见问题排查的方向。由于篇幅限制,很多问题不能详细展开,有兴趣可以在网上搜索资料详细了解。后续有机会,会结合实际客户需求场景,介绍一些操作方案

whutmengmeng的博客 2594

15、SQL Server查询优化与CPU负载管理

本文深入探讨了SQL Server查询优化与CPU负载管理的关键技术,包括强制连接类型的使用、键查找问题的解决、索引设计的最佳实践、高CPU负载的排查与优化,以及并行性的利弊与调整策略。通过优化查询逻辑、合理设计索引、监控与管理CPU资源,可以显著提升SQL Server的性能和稳定性。适用于数据库开发人员和DBA进行性能调优参考。

pz8901234的博客 78

安装opldap历险记

安装openldap历险记作者:cleverpig 安装环境:RedHat Linux9.0 内核版本2.40.2-8一、准备工作:按照http://www.openldap.org/faq/data/cache/196.html所列的软件准备:1.安装的先决条件为:C开发环境,支持Posix标准的正规表达式,支持Berkeley标准的网络协议。OpenLDAP 2

cleverpig2003的专栏 3455

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

编译并安装 OpenLDAP

http://www.ibm.com/developerworks/cn/education/linux/l-lpic3302/section2.html 编译并安装 OpenLDAP 本节讨论 Senior Level Linux Professional(LPIC-3)考试 301 的 302.1 主题的内容。这个主题的权值为 3。 在本节中,学习如何: 从源代码编译和配置 OpenL

★ 分享、传播、open source 3595

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Centos7编译安装OpenLDAP(2.5.11)

1、准备工作 因为OpenLDAP会依赖openssl-1.1.1版本,因此需要检查环境的openssl版本,如果低于openssl-1.1.1,则需要重新安装 查看当前环境openssl版本,不满足条件,则先进行openssl-1.1.1安装 [root@control-plane local]# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017 1.1 openssl-1.1.1安装 1)从openssl官网https:...

葱葱那年 2469

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

OpenLDAP部署并整合Windows AD认证

安装OpenLdap [root@localhost ~]# yum install -y openldap openldap-clients openldap-servers-sql compat-openldap openldap-devel openldap-servers [root@localhost ~]# systemctl restart slapd.service [root@localhost ~]# systemctl enable slapd.service 配置OpenLDAP管

黑神瞬的博客 9368

ldap测试工具 linux,OpenLDAP在LINUX下的安装说明

OpenLDAP在LINUX下的安装说明 张彦星安装环境:redhat9.0安装所需软件(都是以源码的方式存在的)openldap-2.1.29 hrrp://Derkeley DB 4.2.52安装步骤:(确认是用root用户登录)1、由于openldap需要Berkeley DB来存放数据,所以先安装Berkeley DB 4.2...

weixin_30936907的博客 788

LDAP学习笔记

我们可以通过JNDI的API来操作LDAP LDAP v3 国际化 通过国际字符集(ISO 10646)处理国际化,以表示字符串形式的协议元素(例如DN) LDAP v3与 LDAP v2版本的区别之一:使用UTF-8对字符串编码 认证方式 LDAP的不同版本支持不同类型的身份验证。 LDAP v2支持匿名,简单(明文密码)和Kerberos v4身份验证。 LDAP v3支持匿名,简单和SASL身份验证。 SASL是简单身份验证和安全层(RFC 2222)。它指定了质询-响应协议,在该协

Mliangydy的博客 1397

【转帖】Samba AD DC(域控制器)的配置

Samba AD DC(域控制器)的配置 http://lihaitao.cn/?p=299山东前辈写的blog挺好的。。 改天做实验。 发表于2017年3月7日由李海涛 ■Samba AD DC(域控制器)的配置为了使用Active Directory,要事前确认下面项目.・AD DC服务器的主机名:centos7-samba・域名:TESTAD・完整域名:...

weixin_30265103的博客 1642

本文将实现Windows+Linux的异构环境

本文将实现Windows+Linux的异构环境 Windows的AD在企业中的广泛应用,和Linux的稳定性,我们各取所长,构建一个既方便又安全、稳定的环境。 配置方法一: Linux在启动级别3, 所有的操作都是在命令行下。 Windows正常环境,升级为AD,同时集成了DNS...

weixin_34402408的博客 174

常见的 Kerberos 错误消息

http://docs.oracle.com/cd/E19253-01/819-7061/trouble-6/index.html 列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息 All authentication systems disabled; connection refused

zy531的专栏 1万+

Kerberos 常见错误

本节按字母顺序 (A-M) 列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息。 备注:下面这些错误有部分是通用的错误,所以解决方法并不一定适用所有场景,具体的解决方案是需要具体分析。不能一概而论。 All authentication systems disabled; connection refused 原因: 此版本的 rlogind 不支持任何验证机制。 解决方法: 请确保调用的 rlogin.

zhm1002的博客 3108

常见的 Kerberos 错误消息 (A-M)

本节按字母顺序 (A-M) 列出了 Kerberos 命令、Kerberos 守护进程、PAM 框架、GSS 接口、NFS 服务和 Kerberos 库的常见错误消息。   All authentication systems disabled; connection refused 原因: 此版本的 rlogind 不支持任何验证机制。 解决方法: 请确保调用的 rlogind ...

Sabrina & Joshua Java Ivory Tower 1054

Kerberos主KDC数据库同步到从KDC报错:Key table entry not found while getting initial credentials

***报错详情:*** Kerberos开启高可用模式,主KDC数据库同步到从KDC时执行命令: `kprop -f /var/kerberos/krb5kdc/slave_datatrans slavehost` 报错: ``` Error:kprop: Key table entry not found while getting initial credentials? ``` ***解决办法:*** 1.查看文件/etc/krb5.conf配置是否修改正确(如KDC服务器端口不为默认的88,则需要在

4064

PostgreSQL教程(十九):服务器管理(一)之从源代码安装

本章的内容描述从源代码发布安装PostgreSQL(如果你安装的是打包好的版本如RPM或Debian包,那么请略过这一章并且阅读打包者的指导)。

mr~li的博客 1608
上一篇: crontab快速指南
winterth
博客等级 码龄19年 7粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值