Ich verwende OpenLDAP 2.4.54 mit Alpine. Hier ist meine LDAP-Konfiguration
$ sudo slapcat -n0
dn: olcDatabase={-1}frontend,cn=config
objectClass: olcDatabaseConfig
objectClass: olcFrontendConfig
olcDatabase: {-1}frontend
structuralObjectClass: olcDatabaseConfig
entryUUID: afb8286a-68e7-426d-8a9f-91f52935c4af
creatorsName: cn=config
createTimestamp: 20200807074746Z
entryCSN: 20200807074746.355242Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20200807074746Z
dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcAccess: {0}to * by * none
olcAddContentAcl: TRUE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=config
olcSyncUseSubentry: FALSE
olcMonitoring: FALSE
structuralObjectClass: olcDatabaseConfig
entryUUID: 570fed11-408d-42a2-bf96-3e063cc8276e
creatorsName: cn=config
createTimestamp: 20200807074746Z
entryCSN: 20200807074746.355548Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20200807074746Z
dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/openldap/openldap-data
olcSuffix: dc=mydomain,dc=tld
olcRootDN: cn=admin,dc=mydomain,dc=tld
olcRootPW:: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
olcDbIndex: objectClass eq
structuralObjectClass: olcMdbConfig
entryUUID: 5e4e308d-3243-4dd0-aa45-d289eb5575ab
creatorsName: cn=config
createTimestamp: 20200807074746Z
entryCSN: 20200807074746.355490Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20200807074746Z
Ich kann die cn=config-Datenbank nicht mit einer SASL-Authentifizierung bearbeiten:
ldapmodify -Y EXTERNAL -H ldapi:/// -f anything.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=1000+uidNumber=1000,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Insufficient access (50)
Ich kann den Root-DN nicht cn=config
zur Authentifizierung verwenden:
ldapmodify -H ldapi:/// -D cn=config -f anything.ldif
ldap_bind: Server is unwilling to perform (53)
additional info: unauthenticated bind (DN with no password) disallowed
Nun. Wie kann ich irgendetwas in dieser Datenbank bearbeiten, da ich anscheinend keine Rechte dafür habe? Ich könnte versuchen, gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
mit Zugriff zu gewähren olcAccess
oder ein olcRootPW
für hinzuzufügen cn=config
, aber ich habe keinen Zugriff dafür.
Wie kann ich dieses Henne-Ei-Problem lösen?
Antwort1
Ich bin nicht sicher, ob es eine gute Vorgehensweise ist, aber ich könnte das Problem lösen, indem ich manuell ein olcRootPW
in hinzufüge/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif