Eu uso OpenLDAP 2.4.54 com Alpine. Aqui está minha configuração ldap
$ 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
Não consigo editar o banco de dados cn=config com uma autenticação SASL:
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)
Não consigo usar o dn raiz cn=config
para autenticar:
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
Agora. Como posso editar qualquer coisa neste banco de dados agora que parece que não tenho nenhum direito sobre isso? Eu poderia tentar dar acesso ao gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
with olcAccess
, ou adicionar um olcRootPW
for cn=config
mas não tenho acesso para fazer isso.
Como posso resolver este problema do ovo e da galinha?
Responder1
Não tenho certeza se é uma boa prática, mas poderia resolver isso adicionando manualmente um olcRootPW
in/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif