Aha! Meu problema está resolvido! Eu só preciso excluir o diretório usando rm -rf /etc/openldap/slapd.d
. Isso forçará o OpenLDAP a procurar o arquivo slapd.conf
enquanto inicia o serviço.
Eu tenho tentado configurar o OpenLDAP instalado por padrão no Fedora 12, sem muito sucesso. Meu objetivo final é usar a autenticação LDAP para login de usuário e Apache, usando o servidor OpenLDAP em execução na mesma máquina.
O servidor está em execução, mas o erro que sempre recebo quando tento usar ldapsearch ou ldapadd é: ldap_bind: Credenciais inválidas (49)
Eu tenho acompanhado esses tutoriais, mas nenhum deles me ajudou:
Primeiro, alguns componentes já foram instalados e eu os instalei com o yum:
yum install openldap-servers openldap-devel
Em seguida, criei um arquivo slapd.conf básico em / etc / openldap:
database bdb
suffix "dc=sniejana-sandbox,dc=com"
rootdn "cn=root,dc=sniejana-sandbox,dc=com"
rootpw {SSHA}cxdz55ygPu4T3ykg7dgu+L0VRvsFSeom
directory /var/lib/ldap/sniejana-sandbox.com
Eu obtive o rootpw com este comando:
slappasswd -s changeme
Também criei o diretório /var/lib/ldap/sniejana-sandbox.com
e assegurei que todo o conteúdo de /var/lib/ldap
fosse de propriedade do usuário do ldap.
Eu encontrei dois arquivos ldap.conf, um em / etc e um em / etc / openldap. Eu não sei qual é o caminho certo. Se entendi corretamente, esse arquivo é para configurar o cliente. Eu coloquei isso em ambos:
HOST localhost
BASE dc=sniejana-sandbox,dc=com
Eu então executei o servidor com:
service slapd start
Ele disse OK.
A maioria dos tutoriais acima diz para usar o comando ldapsearch -D "cn=Manager,dc=my-domain,dc=com" -W
para garantir que tudo esteja funcionando. Quando executo este comando, aparece um prompt de senha e, após digitar a senha, recebo o erro.
ldapsearch -D "cn=root,dc=sniejana-sandbox,dc=com" -W
Enter LDAP password:
ldap_bind: Invalid credentials (49)
O mesmo acontece quando se tenta usar o ldapadd. Eu tentei com uma senha criptografada e não criptografada no slapd.conf, isso não muda nada. Adicionar um -x para autenticação simples também não altera nada.
netstat -ap confirma que o servidor está escutando:
tcp 0 0 *:ldap *:* LISTEN 4148/slapd
tcp 0 0 *:ldap *:* LISTEN 4148/slapd
ps -ef | grep slapd confirma que o processo está sendo executado:
ldap 4148 1 0 15:22 ? 00:00:00 /usr/sbin/slapd -h ldap:/// -u ldap
A execução do slaptest faz com que o arquivo de configuração seja testado com sucesso .
Eu li em algum lugar que o comando ldapsearch -x -b '' -s base '(objectclass=*)' namingContext
pode confirmar se o servidor está sendo executado. Parece funcionar:
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContext
#
#
dn:
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
Estou ficando sem ideias. Estou perdendo algo óbvio?
Eu também tenho esse problema de openldap no Fedora 12! Mas se você tentar iniciar seu openldap manualmente usando o seguinte comando, o comportamento se tornará normal. / usr / sbin / slapd -f /etc/openldap/slapd.conf
Eu suspeito que o comando padrão (estou me referindo a "serviço slapd start") não está carregando o arquivo de configuração openldap (refiro-me a /etc/openldap/slapd.conf) que eu crio manualmente após a instalação do yum. / p>
Eu também enfrentei o mesmo problema quando tentei pela primeira vez.
Após uma análise, acabei de remover o diretório /etc/openldap/slapd.d/
e também excluí o conteúdo do diretório /var/lib/ldap/
(que contém o banco de dados). Depois disso tudo funciona bem.
Observação: o diretório var/lib/ldap
deve existir ou o serviço slapd
nunca será iniciado.
Eu entendi isso lendo o script /etc/init.d/slapd
. Nesse script, eles verificam cegamente se o diretório /etc/openldap/slapd.d
existe ou não. Se sim significa, eles simplesmente ignoraram o arquivo slapd.conf
. Esse script também verifica se existe banco de dados no diretório /var/lib/ldap/
. Se sim significa, eles usam esse banco de dados ou criam um novo banco de dados vazio.
/etc/openldap/slapd.d
contém exatamente as informações de configuração em uma estrutura de dados de diretório que é usada em vez do arquivo slapd.conf
. Eu acho que o Fedora usa este diretório por padrão.
Tags installation fedora openldap