Primeiro, não sou um especialista em OpenLDAP.
Tenho o openldap( slapd
) rodando em um servidor que está funcionando há anos. Hoje executei yum update
e atualizei alguns pacotes, incluindo os pacotes openldap. Depois de concluído (sem erros), nosso servidor LDAP não estava funcionando. Eu tentei um simples service slapd start
(e /etc/init.d/slapd start
) que falhou repentinamente.
Se eu olhar no /var/log/ldap.log
arquivo, vejo estas entradas:
@(#) $OpenLDAP: slapd 2.4.40 (May 10 2016 23:30:49) $#012#[email protected]:/builddir/build/BUILD/openldap-2.4.40/openldap-2.4.40/build-servers/servers/slapd
read_config: no serverID / URL match found. Check slapd -h arguments.
slapd stopped.
connections_destroy: nothing to destroy.
Ambos slaptest
e slaptest -u
são bem sucedidos:
# slaptest
config file testing succeeded
# slaptest -u
config file testing succeeded
Aqui estão as versões do openldap:
openldap-clients-2.4.40-12.el6.x86_64
openldap-servers-2.4.40-12.el6.x86_64
openldap-devel-2.4.40-12.el6.x86_64
compat-openldap-2.3.43-2.el6.x86_64
openldap-2.4.40-12.el6.x86_64
Aqui também está meu slapd.conf
arquivo que funcionou antes da atualização do yum:
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/passwordSelfReset.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
modulepath /usr/lib64/openldap
moduleload syncprov.la
moduleload unique.la
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=admin,dc=am5up,dc=com" read
by * none
database bdb
suffix "dc=am5up,dc=com"
rootdn "cn=admin,dc=am5up,dc=com"
rootpw {SSHA}0yFFC0BTYdZLDRNtSHVz1I6YC4zJ3Z0AZ09123
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
overlay unique
unique_attributes mail
ServerID 1 "ldap://ldap.am5up.com"
overlay syncprov
syncprov-checkpoint 10 1
syncprov-sessionlog 100
Alguém poderia dar quaisquer sugestões?
Muito apreciado!
Responder1
Os IDs de host em conf e script devem corresponder
Para qualquer outra pessoa com esse problema: eu descobri o problema. Durante a atualização, a versão um pouco mais recente exige que o host corresponda à definição do servidor no arquivo de configuração.
Por exemplo, no seu slapd.conf
arquivo há uma linha como:
ServerID 1 "ldap://myldapserver"
Então, em seu script de inicialização (ou quando você inicializa o slapd), você deve definir o host como "ldap://myldapserver".
Isto parece fazer sentido; entretanto, com meus problemas de hoje, descobri que o /etc/init.d/slapd
arquivo padrão adicionado durante minha instalação inicial lista o host como em branco. Assim, o script de inicialização padrão basicamente executa:
slapd -h "" -u <user> -g <group>
Depois de editar o script de inicialização para garantir que a -h
ativação slapd
corresponda ao que está em meu arquivo de configuração, tudo começou a funcionar novamente.