Recuperar atributos operacionais do OpenLDAP

Recuperar atributos operacionais do OpenLDAP

Tenho tido problemas ao tentar encontrar uma boa documentação sobre como recuperar atributos operacionais do OpenLDAP.

Gostaria de recuperar o nome distinto base de um servidor LDAP fazendo uma pesquisa LDAP.

Por que minha pesquisa não funciona quando peço explicitamente o atributo namingContexts? Disseram-me que preciso adicionar um sinal de adição (“+”) à lista de atributos.

Se for esse o caso, devo me livrar do atributo "namingContexts" ou ter ambos?

ldapsearch -H ldap://ldap.mydomain.com -x -s base -b "" +
# note the + returns operational attributes

Editar:Observe como parece que os atributos solicitados estão vazios. O sinal de mais não deveria estar na lista de atributos?http://www.zytrax.com/books/ldap/ch3/#operacional

referência:operador de sinal de mais com OpenLDAP

Responder1

Por que minha pesquisa não funciona quando peço explicitamente o atributo namingContexts?

O que não está funcionando? Você recebeu um erro?

Quando há um sinal de mais, ele retorna todos os atributos, independentemente de namingContexts ser adicionado.

Usando:

ldapsearch -x -H ldap://ldap.example.com -s base -b "" namingContexts

Retorna:

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts 
#

#
dn:
namingContexts: o=example.com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Também está listado usando:

ldapsearch -x -H ldap://ldap.example.com -s base -b "" +

Retornando:

# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: + 
#

#
dn:
structuralObjectClass: OpenLDAProotDSE
namingContexts: o=example.com
supportedControl: 2.16.840.1.113730.3.4.18
supportedControl: 2.16.840.1.113730.3.4.2
supportedControl: 1.3.6.1.4.1.4203.1.10.1
supportedControl: 1.2.840.113556.1.4.1413
supportedControl: 1.2.840.113556.1.4.1339
supportedControl: 1.2.840.113556.1.4.319
supportedControl: 1.2.826.0.1.334810.2.3
supportedExtension: 1.3.6.1.4.1.1466.20037
supportedExtension: 1.3.6.1.4.1.4203.1.11.1
supportedExtension: 1.3.6.1.4.1.4203.1.11.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.1
supportedFeatures: 1.3.6.1.4.1.4203.1.5.2
supportedFeatures: 1.3.6.1.4.1.4203.1.5.3
supportedFeatures: 1.3.6.1.4.1.4203.1.5.4
supportedFeatures: 1.3.6.1.4.1.4203.1.5.5
supportedLDAPVersion: 2
supportedLDAPVersion: 3
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: CRAM-MD5
subschemaSubentry: cn=Subschema

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Responder2

A primeira regra de acesso no meu slapd.conf é explicitamente para garantir que isso seja permitido; certifique-se de ter algo semelhante:

# Let all clients figure out what auth mechanisms are available, determine
# that TLS is okay, etc
access to dn.base=""
        by *            read

informação relacionada