osixia/openLdap如何设置用户权限,如何给普通用户增加读写权限。

背景

最近在做Ldap单点登录工作,使用osixia/openLdap镜像,将ldap服务跑起来。接着配置 ACL,于是我熟练地去改/etc/openldap/slapd.access.conf文件,但当我进入容器却发现并没有这个文件(黑人问号)。没做过多的考虑,使用slapd -f 指定配置文件,按下回车后发现未生效。带着疑惑仔细看了看readme文档,发现了这么一句话

在这里插入图片描述
也就是说编辑slapd.access.conf文件无效了,让使用ldapmodifty 来修改,关键是配置ACl的ldif文件不会写啊。

由于片刻后决定先看看他自己怎么写的再模仿着写吧。折腾半天终于在/container/service/slapd/assets/config/bootstrap/ldif/02-security.ldif发现蛛丝马迹,这个文件就是初始配置文件。那就好办了仿照着改一下吧但当我打开后又犯了难。

dn: olcDatabase={1}{{ LDAP_BACKEND }},cn=config
changetype: modify
delete: olcAccess
-
add: olcAccess
olcAccess: to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break
olcAccess: to attrs=userPassword,shadowLastChange by self write by dn="cn=admin,{{ LDAP_BASE_DN }}" write by anonymous auth by * none
olcAccess: to * by self read by dn="cn=admin,{{ LDAP_BASE_DN }}" write by * none

这里面有变量,LDAP_BASE_DN 变量可以自己写,但LDAP_BACKEND 必须要知道他的值,没办法再看看readme吧。果不其然又被我找到了。

在这里插入图片描述
于是稍作修改用于验证

dn: olcDatabase={1}mdb,cn=config
changetype: modify
delete: olcAccess
-
add: olcAccess
olcAccess: to * by * read

修改好后执行

ldapmodify -Wx -D "cn=admin,cn=config" -H ldap://127.0.0.1 -f test.ldif

然后使用用普通用户登录后,发现可以看到其他用户(默认没有read权限,上面测试写了任何用户都有读权限),那就说明生效了。

具体步骤

  • 进入容器
  • 新建ldif文件
dn: olcDatabase={1}mdb,cn=config
changetype: modify
delete: olcAccess
-
add: olcAccess
olcAccess: #填写自己的规则
  • 执行
ldapmodify -Wx -D "cn=admin,cn=config" -H ldap://127.0.0.1 -f test.ldif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值