Como faço para consultar o DN base disponível em um servidor openldap

6

Se eu tiver várias ramificações no meu diretório, por exemplo dc = me, dc = org; dc = você, dc = org; dc = eles, dc = org) como posso consultar o diretório para me dar uma lista desses DNs base disponíveis? Isso é uma questão de direitos de acesso, ou eu tenho que dar um argumento para a ldapsearch? Basicamente, eu quero uma consulta ldapsearch que retornará uma lista de DNs que eu possa usar como um argumento -b para ldapsearch

    
por Iain Conochie 12.04.2014 / 10:16

1 resposta

9

Muitos servidores expõem esses parâmetros como atributos da entrada "raiz" (nula). Especificamente, você está procurando o atributo namingContexts . (Alguns servidores também têm defaultNamingContext e / ou configContext .) Observe que você deve usar "base" como o escopo de pesquisa; se o "sub" padrão for usado, a maioria dos servidores retornará uma entrada raiz vazia.

Além disso, pelo menos com o OpenLDAP, esses são atributos operacionais , que precisam ser explicitamente solicitados por nome ou pelo caractere curinga + . (O Samba 4, por outro lado, considera-os atributos normais, correspondidos por * . É melhor usar nomes específicos.)

^ ldapsearch -b "" -s base \* +
SASL/EXTERNAL authentication started
SASL username: gidNumber=25000+uidNumber=25193,cn=peercred,cn=external,cn=auth
SASL SSF: 0
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: * +
#

#
dn:
structuralObjectClass: OpenLDAProotDSE
configContext: cn=config
namingContexts: dc=cluenet,dc=org
namingContexts: dc=nullroute,dc=eu,dc=org
supportedControl: 1.3.6.1.4.1.4203.1.9.1.1
supportedControl: 2.16.840.1.113730.3.4.18
supportedControl: 2.16.840.1.113730.3.4.2
...
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 3
supportedSASLMechanisms: GSSAPI
supportedSASLMechanisms: PLAIN
supportedSASLMechanisms: EXTERNAL
entryDN:
subschemaSubentry: cn=Subschema
    
por 04.06.2014 / 21:17

Tags