web-dev-qa-db-ja.com

パスワードポリシーを使用したOpenLDAPsyncrepl probblem

最近、LDAPバックエンド(プッシュベースのレプリケーション)を使用してslapdsyncreplを機能させるように取り組んでいます。 syncreplがプルベースを実行することで素晴らしい結果が得られましたが、プッシュベースは私を殺しています。

Slapdを開始すると、次の出力で問題が発生します。syncrepl_message_to_entry:rid = 700 mods check(pwdAttribute:値#0は構文ごとに無効です)

これは私のデフォルトのパスワードポリシーに焦点を当てています。この同様の問題について他のメッセージを見たことがありますが、そのほとんどは答えを出さなかったので、かなり単純なものを見落としているに違いないことを願っています。

このslapd(2.4.35)インスタンスをolcデータベースと、次の関連パラメーターを使用して実行しています。

objectClass: olcDatabaseConfig
objectClass: oldLDAPConfig    
olcDatabase: {1}ldap
olcDbACLBind: bindmethod=simple binddn="cn=Directory Manager" credentials="xxxxxxx"
olcDbOnErr: continue
oldDbUri: ldap://mysatelliteldapserver
oldSyncrepl: rid=700 provider=ldaps://masterldapserver.mydomain.com:636 bindmethod=simple binddn="cn=Directory Manager" credentials="xxxxxxxx" filter="(objectclass=*)" searchbase="dc=my,dc=base" scope=sub schemachecking=off type=refreshOnly interval=00:00:05:00

これは「masterldapserver」からプルし、「mysatelliteldapserver」にプッシュする必要があります。これは、パスワードポリシーに達するまで機能し、その後、次のようになります。

syncrepl_message_to_entry: rid=700 mods check (pwdAttribute: value #0 invalid per syntax)

これは完全に偽物です。宛先サテライトサーバーでパスワードポリシーを事前に構成してから、レプリケーションを再開することもできます。

ソースは明確に示しています:

pwdAttribute: userPassword

しかし、値#0が返されます(これは、「null」値であることに関連付けられている場合もあります)。

それで、問題は、他の誰かがこれに遭遇しましたか、そして誰かが何らかのタイプの修正または回避策についての提案を持っていますか?

前もって感謝します

1
Eirik Toft

「値#0」は値そのものではありません。 0番目の値を意味します。

OID of'userPassword 'に変更してみてください。そうしないと、userPasswordが何であるかを知るための適切なスキーマがスレーブにロードされていない可能性があります。

1
user207421