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

openldap访问控制

系统:debian12

/etc/ldap/slapd.d/cn=config目录下

包含以下三个数据库:

dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}mdb,cn=configolcDatabase: [{\<index\>}]\<type\>数据库条目必须具有olcDatabaseConfig对象类。frontend用于保存应用于所有其他数据库的数据库级别选项。后续的数据库定义也可能覆盖某些frontend设置。config和 frontend数据库总是隐式创建的,它们是在任何其他数据库之前创建的。

olcDatabase={0}config.ldif中包含如下信息说明为SASL机制授权(集成身份认证)

cat olcDatabase\=\{0\}config.ldif其中包含如下信息:
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break

olcDatabase={1}mdb.ldif中包含如下信息说明为简单授权(账号密码登录)

cat olcDatabase\=\{1\}mdb.ldif其中包含如下信息:
olcRootDN: cn=admin,dc=srv,dc=world
olcRootPW:: e1NTSEF9N3RwUTR4WkdhK3pBRlNla

访问控制

默认的访问控制策略是允许所有客户端读取。无论定义了什么访问控制策略,rootdn总是被允许对所有内容拥有完全权限(即身份验证、搜索、比较、读取和写入)。因此,在子句中显式列出rootdn是无用的。
配置访问控制通过olcAccess实现

olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to * by * readolcAccess: to <what> [by <who> [<access>] [<control>] ]+
<what>选择访问所应用的条目和/或属性,<who>指定授予哪些实体访问权限,<access>指定授权的访问权限

what的指定方式:

<what> ::= * |[dn[.<basic-style>]=<regex> | dn.<scope-style>=<DN>][filter=<ldapfilter>] [attrs=<attrlist>]

可以通过DN和过滤器选择条目

  • 按DN选择条目:
    to * : 全部条目
    to dn[.<basic-style>]=<regex> : 正则表达式匹配的条目
    to dn.<scope-style>=<DN> : dn请求范围内的条目

    • 其中,<scope-style>可以是base, one, subtree, or children。
      • 其中,base只匹配具有所提供DN的条目。(精准匹配,只匹配dn)
      • one匹配其父项是所提供的DN的条目。(dn的下一级)
      • subtree匹配子树中根为所提供的DN的所有条目。(根为dn的所有条目,包括dn)
      • cildren匹配DN下的所有条目(但不匹配由DN命名的条目)。(根为dn的所有条目,不包括dn)
  • 通过过滤器选择条目:
    to filter=<ldap filter>
    如to filter=(objectClass=person)

  • DN和过滤器可以同时用来选择条目:
    如 to dn.one=“ou=people,o=suffix” filter=(objectClass=person)

  • 属性选择
    可以通过以逗号分隔的属性名称列表来选择条目中的属性:
    attrs=<attribute list>
    通过使用单个属性名称和值选择器来选择属性的特定值:
    attrs=<attribute> val[.<style>]=<regex>

who的指定方式:
* : 所有对象,包括匿名和授权用户
anonymous : 匿名未授权用户
users : 授权用户
self : 与目标条目关联的用户
dn[.<basic-style>]=<regex> : 符合正则匹配的用户
dn.<scope-style>=<DN> : DN所指定范围内的用户
access的指定方式
级别	权限	描述
none	=0	没有权限
disclose =d	 需要错误信息披露
auth	=dx	需要进行授权(bind)的操作
compare	=cdx	进行比较
seach	=scdx	进行搜索过滤
read	=rscdx	进行读取搜索结果
write	=wrcdx	进行修改或重命名
manage	=mwrscdx	进行管理
每个级别都意味着所有较低级别的访问。

修改访问控制权限

创建文件add_access.ldif,内容如下:

# 新建一个olcAccess,索引为3
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {3}to attrs=userPassword by self write by * read

然后执行如下命令修改olcDatabase={1}mdb.ldif文件

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

在两个不同修改(delete\add)时,中间需要加-

changetype: modify
delete: olcAccess
olcAccess: {1}
-
add: olcAccess
olcAccess: {1}to dn.children="dc=example,dc=com" by * write

参考:
https://www.openldap.org/doc/admin25/access-control.html
https://www.cnblogs.com/bashenandi/p/openldap-access-control.html

相关文章:

openldap访问控制

系统&#xff1a;debian12 /etc/ldap/slapd.d/cnconfig目录下 包含以下三个数据库&#xff1a; dn: olcDatabase{-1}frontend,cnconfig dn: olcDatabase{0}config,cnconfig dn: olcDatabase{1}mdb,cnconfigolcDatabase: [{\<index\>}]\<type\>数据库条目必须具有…...

阿里云服务器技术创新、网络技术和数据中心技术说明

阿里云服务器技术创新、网络技术创新、数据中心技术创新和智能运维&#xff1a;云服务器方升架构、自研硬件、自研存储硬件AliFlash和异构计算加速平台&#xff0c;以及全自研网络系统技术创新和数据中心巴拿马电源、液冷技术等技术创新说明&#xff0c;阿里云百科分享阿里云服…...

华为智能高校出口安全解决方案(2)

本文承接&#xff1a; https://qiuhualin.blog.csdn.net/article/details/131475315?spm1001.2014.3001.5502 重点讲解华为智能高校出口安全解决方案的基础网络安全&业务部署与优化的部署流程。 华为智能高校出口安全解决方案&#xff08;2&#xff09; 课程地址基础网络…...

【AI绘画】Stable Diffusion WebUI

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

html、css学习记录【uniapp前奏】

Html 声明&#xff1a;该学习笔记源于菜鸟自学网站&#xff0c;特此记录笔记。很多示例源于此官网&#xff0c;若有侵权请联系删除。 文章目录 Html声明&#xff1a; CSS 全称 Cascading Style Sheets&#xff0c;层叠样式表。是一种用来为结构化文档&#xff08;如 HTML 文档…...

Linux-正则三剑客

目录 一、正则简介 1.正则表达式分两类&#xff1a; 2.正则表达式的意义 二、Linux三剑客简介 1.文本处理工具&#xff0c;均支持正则表达式引擎 2.正则表达式分类 3.基本正则表达式BRE集合 4.扩展正则表达式ere集合 三、grep 1.简介 2.实践 3.贪婪匹配 四、sed …...

Zilliz@阿里云:大模型时代下Milvus Cloud向量数据库处理非结构化数据的最佳实践

大模型时代下的数据存储与分析该如何处理?有没有已经落地的应用实践? 为探讨这些问题,近日,阿里云联合 Zilliz 和 Doris 举办了一场以《大模型时代下的数据存储与分析》为主题的技术沙龙,其中,阿里云对象存储 OSS 上拥有海量的非结构化数据,Milvus(Zilliz)作为全球最有…...

解决 react 项目启动端口冲突

报错信息&#xff1a; Emitted error event on Server instance at:at emitErrorNT (net.js:1358:8)at processTicksAndRejections (internal/process/task_queues.js:82:21) {code: EADDRINUSE,errno: -4091,syscall: listen,address: 0.0.0.0,port: 8070 }解决方法&#xff…...

ChatGPT AIGC 总结Vlookup的20种不同用法

Vlookup是Excel中最常见的函数。接下来我们让ChatGPT,AIGC总结Vlookup函数的用法 。 1. 基本的VLOOKUP用法:=VLOOKUP("John", A2:B5, 2, FALSE)。在A2:B5范围中查找"John",返回与"John"在同一行的第2列的值。例如,查找员工姓名,返回员工ID。…...

Android Logcat 命令行工具

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、日常用法3.1 面板介绍3.2 日志过滤…...

蓝桥等考Python组别八级004

第一部分:选择题 1、Python L8 (15分) 运行下面程序,输出的结果是( )。 i = 1 while i <= 3: print(i, end = ) i += 1 1 20 1 2 31 2 30 1 2正确答案:C 2、Python L8...

selenium-webdriver 阿里云ARMS 自动化巡检

很久没更新了&#xff0c;今天分享一篇关于做项目巡检的内容&#xff0c;这部分&#xff0c;前两天刚在公司做了部门分享&#xff0c;趁着劲还没过&#xff0c;发出来跟大家分享下。 一、本地巡检实现 1. Selenium Webdriver(SW) 简介 Selenium Webdriver&#xff08;以下简称…...

【数据仓库设计基础(二)】维度数据模型

文章目录 一. 概述二. 维度数据模型建模过程三. 维度规范化四. 维度数据模型的特点五. 维度数据模型1. 星型模式1.1&#xff0e;事实表1.2&#xff0e;维度表1.3&#xff0e;优点1.4&#xff0e;缺点1.5&#xff0e;示例 2. 雪花模式2.1&#xff0e;数据规范化与存储2.2&#x…...

【数据结构】排序算法(一)—>插入排序、希尔排序、选择排序、堆排序

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.直接插入排序 2.希尔排序 3.直接选择排…...

基于JAVA+SpringBoot的新闻发布平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着科技的飞速发展和…...

Java实现word excel ppt模板渲染与导出及预览 LibreOffice jodconverter

Java Office 一、文档格式转换 文档格式转换是office操作中经常需要进行一个操作&#xff0c;例如将docx文档转换成pdf格式。 java在这方面有许多的操作方式&#xff0c;大致可以分为内部调用&#xff08;无需要安装额外软件&#xff09;&#xff0c;外部调用&#xff08;需…...

【通意千问】大模型GitHub开源工程学习笔记(2)

使用Transformers来使用模型 如希望使用Qwen-chat进行推理,所需要写的只是如下所示的数行代码。请确保你使用的是最新代码,并指定正确的模型名称和路径,如Qwen/Qwen-7B-Chat和Qwen/Qwen-14B-Chat 这里给出了一段代码 from transformers import AutoModelForCausalLM, Aut…...

MQ - 35 四款MQ的架构设计与实现的对比

文章目录 导图概述RabbitMQ顺序消息定时和延时消息事务消息优先级队列死信队列WebSocketRocketMQ顺序消息定时和延时消息事务消息死信队列消息查询根据 Offset 查询消息根据时间戳查询消息据消息 ID 查询消息SchemaKafka顺序消息幂等事务消息消息查询...

spring6-IOC容器

IOC容器 1、IoC容器1.1、控制反转&#xff08;IoC&#xff09;1.2、依赖注入1.3、IoC容器在Spring的实现 2、基于XML管理Bean2.1、搭建子模块spring6-ioc-xml2.2、实验一&#xff1a;获取bean①方式一&#xff1a;根据id获取②方式二&#xff1a;根据类型获取③方式三&#xff…...

macOS - 使用 chromedriver

文章目录 下载对应的 chromedriver 下载 Chrome https://www.google.com/chrome/ 查看 版本 下载对应的 chromedriver http://chromedriver.storage.googleapis.com/index.html https://chromedriver.chromium.org/downloads 移动 sudo mv chromedriver /usr/local/bin/ $ c…...

Pangolin GUI实战:给你的C++机器人仿真程序加个带按钮和滑块的3D控制面板

Pangolin GUI实战&#xff1a;为C机器人仿真构建3D交互控制面板 在机器人算法开发过程中&#xff0c;仿真验证是不可或缺的环节。传统方式下&#xff0c;开发者往往需要反复修改代码参数或通过命令行调整变量&#xff0c;这种"编码-编译-运行"的循环效率低下&#xf…...

Windows网络测速终极指南:iperf3免费工具完整教程

Windows网络测速终极指南&#xff1a;iperf3免费工具完整教程 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds 还在为网络速度不稳定而烦恼吗&#x…...

手把手教你用CH342 USB转串口模块在Ubuntu 22.04上调试(附dmesg日志分析)

手把手教你用CH342 USB转串口模块在Ubuntu 22.04上调试&#xff08;附dmesg日志分析&#xff09; 嵌入式开发中&#xff0c;串口调试是最基础却最容易出问题的环节。当你在Ubuntu 22.04上插入CH342模块准备调试ESP32开发板时&#xff0c;是否遇到过设备无法识别、权限拒绝或者波…...

基于Athena-Public框架的LLM全栈应用开发实践与架构解析

1. 项目概述与核心价值 最近在梳理一些开源项目时&#xff0c;发现了一个名为“Athena-Public”的仓库&#xff0c;作者是winstonkoh87。这个项目名听起来就很有意思&#xff0c;Athena&#xff08;雅典娜&#xff09;是智慧女神&#xff0c;一个公开的“智慧”项目&#xff0c…...

别再复制粘贴了!手把手教你用Simscape Language从零创建自定义物理模块(附完整代码)

从零构建Simscape自定义物理模块&#xff1a;工程师的深度实践指南 在物理系统建模领域&#xff0c;预置的标准化组件库往往无法满足复杂工程场景的需求。当您面对一个特殊的齿轮传动机构、非线性的液压元件或是定制化的传感器模型时&#xff0c;掌握Simscape Language的自定义…...

不使用库函数,实现 strcpy,strcat,strcmp

文章目录 1、strcpy 原型2、strcmp 原型 1、strcpy 原型 char* strcpy(char* des, const char* source) {char* r des;assert((des ! NULL) && (source ! NULL));while((*r *source)!\0);return des; }可以自行实现&#xff1a; char* myStrcpy(char* dest, char* …...

PyVideoTrans:3步实现视频AI翻译配音,支持30+AI模型的完整解决方案

PyVideoTrans&#xff1a;3步实现视频AI翻译配音&#xff0c;支持30AI模型的完整解决方案 【免费下载链接】pyvideotrans Translate the video from one language to another and embed dubbing & subtitles. 项目地址: https://gitcode.com/gh_mirrors/py/pyvideotrans …...

Windows 11终极优化指南:如何用Win11Debloat快速清理系统垃圾与保护隐私

Windows 11终极优化指南&#xff1a;如何用Win11Debloat快速清理系统垃圾与保护隐私 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to…...

拆解OpenWrt的.ipk安装包:从文件结构到手动安装,彻底搞懂opkg底层逻辑

OpenWrt软件包深度解析&#xff1a;从.ipk结构到手动安装全指南 1. OpenWrt软件包管理机制揭秘 对于OpenWrt用户来说&#xff0c;opkg命令是日常管理软件包的基础工具。但当你遇到网络连接问题无法在线安装&#xff0c;或者需要定制修改软件包时&#xff0c;理解其背后的工作机…...

2026.5.11:2026年5月TIOBE指数

2026年5月TIOBE指数 2026年5月TIOBE指数 五月头条:统计编程语言市场正在经历重大整合 本月,R 编程语言在 TIOBE 指数中再次攀升至第八位,追平了历史最高排名。这并非偶然。统计编程语言市场显然正在经历一场重大整合。Python 和 R 成为最大的赢家,而许多老牌语言则持续失去…...