Os IDs de host em conf e script devem corresponder

Os IDs de host em conf e script devem corresponder

Primeiro, não sou um especialista em OpenLDAP.

Tenho o openldap( slapd) rodando em um servidor que está funcionando há anos. Hoje executei yum updatee 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.logarquivo, 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 slapteste slaptest -usã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.confarquivo 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.confarquivo 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/slapdarquivo 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 -hativação slapdcorresponda ao que está em meu arquivo de configuração, tudo começou a funcionar novamente.

informação relacionada