OpenLDAP-Kennwortrichtlinien-Overlay-Fehler beim Laden

7

Ich versuche, das Kennwortrichtlinien-Overlay zu laden, habe jedoch den folgenden Fehler:

ldapadd  -Wx -D "cn=Manager,cn=config"  -f overlay.ldif 
Enter LDAP Password: 
adding new entry "olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config"
ldap_add: No such object (32)
    matched DN: cn=config

Dies ist der Inhalt der Datei:

dn: olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config
olcOverlay: ppolicy
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcPPolicyDefault: cn=default,ou=Policies,dc=site,dc=com
olcPPolicyHashCleartext: TRUE
olcPPolicyUseLockout: FALSE

Im Protokoll habe ich gefunden:

config_add_internal: DN="olcOverlay=ppolicy,olcDatabase={0}bdb,cn=config" not child of DN="cn=config"

Ich verwende CentOS 6.3 und openldap-servers-2.4.23-26.el6_3.2.x86_64.

user27238
quelle

Antworten:

3

Einige der Datensätze in der cn=configDatenbank von OpenLDAP verwenden Nummernpräfixe ( {0}, {1}usw.). Wenn Sie also etwas in der cn=configDatenbank ändern möchten , müssen Sie sicherstellen, dass Sie den richtigen DN verwenden (Distinguished Name: Der Pfad zum Datensatz). In OpenLDAP ist bei Verwendung cn=configder erste olcDatabase-Eintrag normalerweise die Konfigurationsdatenbank selbst ( olcDatabase={0}config,cn=config). Auf meinem spezifischen System ist meine Hauptdatenbank olcDatabase={1}hdb,cn=config.

Wenn Sie den DN des olcDatabasezu ändernden DN nicht kennen, können Sie ihn nur ermitteln, indem Sie eine Suche durchführen und die Ergebnisse durchsehen.


Was diese Zahlen (das {0}Bit) angeht, dienen sie zwei Zwecken.

  1. Sie ermöglichen es Ihnen, mehrere Einträge mit demselben Namen zu haben.
    Sie könnten 2 olcDatabase=bdbDatenbanken haben, in denen Sie ein Problem haben würden, da Sie nicht 2 Einträge mit demselben DN haben können.
  2. Sie ermöglichen die Bestellung.
    Das LDAP-Protokoll kümmert sich nicht um die Reihenfolge. Sie können RDNs jedoch ein Präfix voranstellen {X}, um die Bestellung zu ermöglichen. In diesem speziellen Fall fällt mir kein Grund ein, warum die Datenbanken bestellt werden müssen. Es gibt jedoch auch andere kritische Anwendungsfälle, z cn=schema,cn=config. In cn=schemakann ein Schema eine Objektklasse definieren, die von einem Attribut aus einem vorherigen Schema abhängt. Daher müssen die Schemata der Reihe nach geladen werden.
Patrick
quelle
Re: ordering - Backend-Datenbanken wurden in der Vergangenheit hauptsächlich zu Sicherungs- / Wiederherstellungszwecken durch den numerischen Index (implizit durch die Reihenfolge ihrer Definition) identifiziert. Wenn mehrere Datenbanken / Suffixe verwendet werden, müssen die Untergebenen vor ihren Vorgesetzten (Eltern) definiert werden.
mr.spuratic
1

olcDatabase={0}bdb,cn=config

muss geändert werden auf

olcDatabase={2}bdb,cn=config

Dave
quelle
1
Danke, das hat den Trick gemacht, aber verstehe den Unterschied zwischen {0} und {2} nicht
user27238