我想更改在 Docker 上运行的 openLDAP 实例的一些权限(https://github.com/osixia/docker-openldap)。
- 禁止匿名登录(甚至禁止只读)
- 赋予任何非管理员用户除其本人之外的任何内容的读取权限
- 用户只能更改自己的密码
我发现这种权限管理是通过 ACL(访问控制列表)完成的。
但是我在 docker-openLDAP 中哪里可以创建这些 ACL(或编辑现有的 ACL)?
如果您有解决方案,我会非常高兴,我对此很困惑。
答案1
作为具有适当权限的 dn(可能是容器为您设置的任何管理员),您应该能够ldapmodify
使用以下 ldif 运行。
dn: olcDatabase={2}mdb,cn=config
replace: olcAccess
olcAccess: {0}to *
by group.exact="cn=ldap-admins,ou=groups,dc=example,dc=com" write
by * break
olcAccess: {1}to attrs=userPassword
by self write
by * auth
olcAccess: {7}to *
by * none
我不知道 docker 镜像是否使用,olcDatabase={1}monitor,cn=config
所以要修改的 dn 可能是其他的。您应该能够查询相关的 olcSuffix。