Merge pull request #116 from opencloud-eu/fix/initialise-ldap-acls

fix: fix #104 - LDAP userPassword attribute can be read without auth
This commit is contained in:
Thomas Schweiger
2025-10-23 17:39:24 +02:00
committed by GitHub
3 changed files with 22 additions and 0 deletions

11
config/ldap/init-ldap-acls.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -eu
# apply acls
echo -n "Applying acls... "
slapmodify -F /opt/bitnami/openldap/etc/slapd.d -b cn=config -l /opt/bitnami/openldap/etc/schema/50_acls.ldif
if [ $? -eq 0 ]; then
echo "done."
else
echo "failed."
fi

View File

@@ -0,0 +1,9 @@
# OpenCloud ldap acl file which gets applied during the first db initialisation
dn: olcDatabase={2}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to dn.subtree="dc=opencloud,dc=eu" attrs=entry,uid,objectClass,entryUUID
by * read
olcAccess: {1}to attrs=userPassword
by self write
by * auth

View File

@@ -54,6 +54,8 @@ services:
volumes: volumes:
- ./config/ldap/ldif/10_base.ldif:/ldifs/10_base.ldif - ./config/ldap/ldif/10_base.ldif:/ldifs/10_base.ldif
- ./config/ldap/ldif/20_admin.ldif:/ldifs/20_admin.ldif - ./config/ldap/ldif/20_admin.ldif:/ldifs/20_admin.ldif
- ./config/ldap/ldif/50_acls.ldif:/opt/bitnami/openldap/etc/schema/50_acls.ldif
- ./config/ldap/init-ldap-acls.sh:/docker-entrypoint-initdb.d/init-ldap-acls.sh
- ./config/ldap/docker-entrypoint-override.sh:/opt/bitnami/scripts/openldap/docker-entrypoint-override.sh - ./config/ldap/docker-entrypoint-override.sh:/opt/bitnami/scripts/openldap/docker-entrypoint-override.sh
- ldap-certs:/opt/bitnami/openldap/share - ldap-certs:/opt/bitnami/openldap/share
- ldap-data:/bitnami/openldap - ldap-data:/bitnami/openldap