У меня возникли проблемы с поиском хорошей документации о том, как получить рабочие атрибуты из OpenLDAP.
Я хотел бы получить базовое отличительное имя сервера LDAP, выполнив поиск LDAP.
Почему мой поиск не работает, когда я явно запрашиваю атрибут namingContexts? Мне сказали, что мне нужно добавить знак плюса ('+') в список атрибутов.
В таком случае следует избавиться от атрибута namingContexts или использовать оба?
ldapsearch -H ldap://ldap.mydomain.com -x -s base -b "" +
# note the + returns operational attributes
Редактировать: Обратите внимание, как похоже, что запрошенные атрибуты пусты. Разве знак плюса не должен быть в списке атрибутов? http://www.zytrax.com/books/ldap/ch3/#operational
ссылка: оператор знака плюса с OpenLDAP
Почему мой поиск не работает, когда я явно запрашиваю атрибут namingContexts?
Что не работает? Вы получаете сообщение об ошибке?
Когда есть знак плюса, он возвращает все атрибуты, независимо от того, добавлен ли namingContexts.
С помощью:
ldapsearch -x -H ldap://ldap.example.com -s base -b "" namingContexts
Возврат:
# 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
Он также указан с использованием:
ldapsearch -x -H ldap://ldap.example.com -s base -b "" +
Возвращение:
# 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
Первое правило доступа в моем slapd.conf явно гарантирует, что это разрешено; убедитесь, что у вас есть что-то похожее:
# Let all clients figure out what auth mechanisms are available, determine
# that TLS is okay, etc
access to dn.base=""
by * read