Como uso o ldapdelete para excluir um banco de dados olc configurado incorretamente?

5

Eu andei por este tutorial e continuei recebendo erros - provavelmente porque eu estava digitando manualmente - então eu tentei novamente, depois de entrar em

# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=example,dc=local
olcDbDirectory: /var/lib/ldap

Funcionou, então digitei o restante e executei novamente:

sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.example.com.ldif

e agora diz

ldap_add: Other (e.g., implementation specific) error (80)
    additional info: <olcSuffix> namingContext "dc=home,dc=local" already served by a preceding hdb database

O que, como suponho, significa que não pode completar o ldapadd porque já existe um com o mesmo nome.

Eu tentei excluí-lo usando ( aqui ):

sudo ldapdelete 'dc=example,dc=local'

e está pedindo uma senha, da qual minha senha não funciona e não havia nada definido como o olcRootPW na configuração inicial.

Como eu uso o ldapdelete neste contexto para que eu possa re-configurar este banco de dados?

    
por user29600 12.05.2011 / 00:44

2 respostas

1

Não foi possível descobrir como excluir o banco de dados, mas eu tinha acabado de começar, então eliminei o slapd e o ldap-utils.

sudo apt-get purge slapd ldap-utils

e reinstalado.

    
por 13.05.2011 / 19:04
4

Geralmente, o processo de configuração inicial para cn = config não é muito fácil e há muitas maneiras de se fotografar no processo. No entanto, lembre-se que cn = config é armazenado em arquivos no formato LDIF em slapd.d (geralmente em ${prefix}/etc/openldap/ ) e pode ser editado manualmente (com cuidado e enquanto slapd isn em execução). Então, se você tiver se trancado (sem RootDN / RootPW) ou completamente desconfigurado o seu cn = config de alguma forma, você pode sempre corrigi-lo lá.

Uma boa maneira de obter uma configuração básica é realmente fazê-lo no estilo antigo slapd.conf e convertê-lo em slapd.d (usando slaptest -f -F ) uma vez que o material básico (bancos de dados, módulos e um RootDN / RootPW) é classificado.

    
por 15.06.2011 / 22:55