Indexando sua árvore OpenLDAP

Se o seu log está se entupindo de mensagens como esta abaixo, então esta dica vai te cair como uma luva. O procedimento foi realizado em um sistema Debian com LDAP 2.4, mas com alguns pequenos ajustes você poderá executá-lo em qualquer distribuição

Estas mensagens são registradas quando alguma aplicação tenta fazer uma consulta a sua árvore LDAP mas o atributo que está sendo usado como critério não está indexado, nos casos acima uid e mail.

Para reindexar é rápido, mas a configuração, embora simples não é nada amigável, envolvendo inclusive uma parada no serviço slap.d. Segue então o procedimento.

Parar o serviço de diretórios:

Editar o arquivo de configuração, onde adicionaremos os índices:

Com este arquivo aberto em seu editor de textos, procure pela linha similar a seguinte:

Logo abaixo dela adicione uma linha igual a esta para cada um dos atributos que seu sistema está reclamando. No meu caso eu adicionaria as duas linhas a seguir:

ATENÇÃO! Alterar este arquivo pode danificar integralmente o seu LDAP então certifique-se de não ter alterado nenhuma outra linha além destas que você quer incluir. Se estiver tudo OK salve o arquivo.

Agora vamos refazer todos índices:

O comando acima não deveria ser executado como root e por isso, você deverá receber uma mensagem de alerta sobre a possibilidade de que o slapd poderá não subir. Para evitar surpresas vamos corrigir a posse dos arquivos novamente:

E agora sim poderemos iniciar o serviço de diretórios novamente:

Seu sistema deverá estar no ar novamente e as mensagens de atributo não indexados não deverão mais existir para estes atributos.

DICA DE SEGURANÇA

Como dito antes este procedimento pode ser arriscado e danificar sua base, então antes de fazê-lo verifique se o seu backup está em dia.

Um “backup quente” da base é suficiente para te salvar de qualquer problema, então se não tiver um, após parar o serviço execute os seguintes comandos para conseguir um backup funcional que poderá te salvar de muitas dores de cabeça:

Com esta cópia você poderá seguir adiante. Caso algo dê errado, apague as pastas /var/lib/ldap e /etc/ldap restaure o seu backup antes de subir o slapd novamente:

2 comentários em “Indexando sua árvore OpenLDAP”

    1. E por que não? Ele funciona nos principais sistemas de inicialização usados pelas distros atuais e mesmo algumas mais “antiguinhas” (talvez nem todas, claro) ! 😀

      Mas, sim, você pode usar o systemctl se sentir-se mais confortável. Só esteja atento que a sintaxe do systemctl e do service, são invertidas.

      Os comandos systemctl start slapd e systemctl stop slapd fazem o mesmo efeito, respectivamente, que service slapd start e service slapd stop.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.