ldap_modify: acesso insuficiente (50)

6

Estou executando um servidor OpenLDAP 2.4 que usa o serviço SSL para comunicação. Funciona para pesquisas.

Estou tentando adicionar a replicação no modo espelho.

Então este é o comando que estou executando:

ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif

Onde este é meu server_id.ldif:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2

e este é o meu cn \ = config.ldif na árvore slapd.d dos arquivos de texto:

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z

Mas infelizmente eu estou entendendo:

Enter LDAP Password: 
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

Se eu tentar especificar o banco de dados de configuração, recebo isso:

ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)}

Alguém sabe como posso adicionar o serverID ao banco de dados de configuração para que eu possa concluir a configuração do modo de espelho?

    
por Lynn Owens 25.11.2012 / 01:35

2 respostas

8

É exatamente o que diz na lata. Seu DN cn=myuser,dc=mydomain,dc=com não tem permissões suficientes para modificar a árvore cn=config . E quando você está tentando "especificar o banco de dados de configuração" você está usando um DN totalmente diferente, cn=myuser,cn=config , que aparentemente não existe ou você está usando uma senha errada.

Para fazer modificações como essas, você precisa trabalhar com uma conta com privilégios suficientes para modificar os vários bancos de dados. A conta "admin", ou seja, a única conta que sempre tem todos os privilégios, é especificada no atributo olcRootDN e sua senha é encontrada em olcRootPW . Para o banco de dados cn=config , esses atributos são encontrados em olcDatabase={0}config,cn=config e no banco de dados "normal", normalmente do tipo HDB, em olcDatabase={1}hdb,cn=config .

Qual tutorial ou documentação você seguiu? Não parece que você entende completamente o que está fazendo aqui.

    
por 25.11.2012 / 04:15
4

Como eu tive um problema bastante semelhante, tentei uma solução interessante, mas sem sucesso. Ao contrário de Lynn Owens, não adicionei uma senha ao administrador em olcDatabase={0}config,cn=config . Eu finalmente consegui modificar meus cn=config usando comandos como:

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif
    
por 11.05.2017 / 21:30