openldap设置ACL

openldap设置ACL安装好了 openldap 之后 就是对它进行配置了 其中一项就是设置访问控制 限制普通用户只能修改 访问他们能修改 访问的项


安装好了openldap之后,就是对它进行配置了,其中一项就是设置访问控制,限制普通用户只能修改/访问他们能修改/访问的项。这就是ACL需要做的事情。


设置方法

ACL设置语法

1.语法

access to what:
by who access control

其中,access to指示启用访问控制,上句大致可以理解为:
access to <对什么目标进行控制>[by <作用于哪些访问者> <授予什么样的访问权限><采取什么样的匹配控制动作>]+

2.剖析

2.1 控制目标 what

这一域主要是实现对ACL应用对象的指定,对象可以是记录和属性。选择ACL目标记录的方法一般有两种:DN和filter,语法为:


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




2.1.1 指定所有的记录

access to *

2.1.2 通过DN指定

语法如下:

to dn[.basic-style]=regex
basic-style ::= regex | exact
to dn.scope-style=DN
scope-style ::= base | one | subtree | children


第一种方法是使用正则表达式(dn.regex)或精确匹配(dn.style)的方式来匹配符合条件的记录(这个好像不像想象的那么简单,实现起来颇为费脑筋),例如:

access to dn="^.*,uid=([^,]+),ou=users,(.*)$"

2.1.3 通过filter匹配记录

通过filter指定过滤规则进行记录过虑,语法如下:

access to filter=ldap filter

其中filter指定的为search的过滤规则,这类同于linux系统中grep的匹配方式。如:

access to filter=(objectClass=sambaSamAccount)

也可以结合使用DN和filter进行记录的匹配,例如:

access to dn.subtree=”ou=users,dc=mydomain,dc=org” filter=(objectClass=posixAccount)

2.1.4 通过attrs选取匹配记录

2.2 被用来授权的访问者的指定

2.3 被授予的权限access

2.4 采取什么样的匹配控制动作control

在进行记录的匹配时,如果有多条规则存在,那么在第一次匹配产生后是否还进行后续的匹配或采取其它的动作将取决于此项的设置;控制方式共有以下三种:

2.5 一个例子

access to dn.chilren="ou=users,dc=mydomain,dc=org"
attrs=userPassword #指定“密码”属性
by self write #用户自己可更改
by * auth #所有访问者需要通过认证
by dn.children="ou=admins,dc=mydomain,dc=org" write #管理员组的用户可更改



access to dn.subtree="ou=SUDOers,dc=test,dc=com" #SUDOers的所有内容必须提供其他匿名可读,不然在linux上切换到该用户,不能使用sudo
by dn="cn=Manager,dc=test,dc=com" write
by * read
access to attrs="gidNumber,homeDirectory,loginShell,uidNumber,sshPublicKey"
by * read #对这些属性只能读,但是userPassword字段是可写的,允许用户自行修改密码,但是不能修改自己的gid,home目录等
access to *
by anonymous read #匿名访问可读
by self write #自己可写
by users read







#其他用户可读

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233230.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月5日 下午4:01
下一篇 2025年8月5日 下午4:22


相关推荐

  • Netty原理和使用

    Netty原理和使用Netty 是一个高性能事件驱动的异步的非堵塞的 IO NIO 框架 用于建立 TCP 等底层的连接 基于 Netty 可以建立高性能的 Http 服务器 支持 HTTP WebSocket Protobuf BinaryTCP 和 UDP Netty 已经被很多高性能项目作为其 Socket 底层基础 如 HornetQInfin xPlayFramewo 和 Ca

    2026年3月17日
    2
  • java课程设计-多人聊天工具(socket+多线程)

    大一下学期的java期末课程设计,分享一下文章目录课设要求相关知识点类图项目框架核心代码1.服务器端Server.java课设要求多人聊天工具服务器要求1:能够看到所有在线用户(25%)服务器要求2:能够强制用户下线(25%)客户端要求1:能够看到所有在线用户(25%)客户端要求2:能够向某个用户发送消息(25%)相关知识点1.服务端能够看到所有在线用户服务端继承了JFrame,实现可视化,通过socket实现服务端与客户端的连接,服务端每接收一个连接,把传进来的用户名和对应的s.

    2022年4月7日
    63
  • 玩客云终极改造:刷Armbian+Docker,模块化配置Mi

    玩客云终极改造:刷Armbian+Docker,模块化配置Mi

    2026年3月15日
    1
  • 智能体(Agent)科普:你的数字同事,比你想得更“聪明”

    智能体(Agent)科普:你的数字同事,比你想得更“聪明”

    2026年3月16日
    2
  • 64位Win10 Modelsim破解及证书LICENSE.TXT无法生成解决方法

    64位Win10 Modelsim破解及证书LICENSE.TXT无法生成解决方法将patch_dll.bat和MentorKG.exe放到安装目录的win64目录下安装时一路点YES,可以不用重启。方法1:找到安装目录下win64的mgls64.dll,取消只读         打开cmd(快捷键:super+R,输入cmd)         输入E:(安装磁盘)回车         输入cd :/Modelsim/win64(安装目录中的wi

    2022年5月24日
    101
  • ORB特征提取详解

    ORB特征提取详解ORB OrientedFAST 是一种快速特征点提取和描述的算法 这个算法是由 EthanRublee VincentRabau KurtKonolige 以及 GaryR Bradski 在 2011 年一篇名为 ORB AnEfficientA 的文章中提出 ORB 算法分为两部分 分别是特征点提取和特征点描述 特征提取是由 FAST Featuresfrom

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号