Abrufen von Betriebsattributen aus OpenLDAP

Abrufen von Betriebsattributen aus OpenLDAP

Beim Versuch, eine gute Dokumentation zum Abrufen von Betriebsattributen aus OpenLDAP zu finden, hatte ich Schwierigkeiten.

Ich möchte den Basis-Distinguished Name eines LDAP-Servers abrufen, indem ich eine LDAP-Suche durchführe.

Warum funktioniert meine Suche nicht, wenn ich explizit nach dem Attribut „namingContexts“ frage? Mir wurde gesagt, dass ich der Attributliste ein Pluszeichen („+“) hinzufügen muss.

Wenn dies der Fall ist, sollte ich das Attribut „namingContexts“ entfernen oder beides behalten?

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

Bearbeiten:Beachten Sie, dass die angeforderten Attribute scheinbar leer sind. Sollte das Pluszeichen nicht in der Attributliste stehen?http://www.zytrax.com/books/ldap/ch3/#operational

Referenz:Pluszeichen-Operator mit OpenLDAP

Antwort1

Warum funktioniert meine Suche nicht, wenn ich explizit nach dem Attribut „namingContexts“ frage?

Was funktioniert nicht? Erhalten Sie eine Fehlermeldung?

Wenn ein Pluszeichen vorhanden ist, werden alle Attribute zurückgegeben, unabhängig davon, ob namingContexts hinzugefügt wurden.

Verwendung:

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

Kehrt zurück:

# 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

Es wird auch wie folgt aufgelistet:

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

Rückgabe:

# 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

Antwort2

Die erste Zugriffsregel in meiner slapd.conf besteht explizit darin, sicherzustellen, dass dies zulässig ist. Stellen Sie sicher, dass Sie etwas Ähnliches haben:

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

verwandte Informationen