web-dev-qa-db-ja.com

OpenLDAPは重複したattributeTypeエラーを出します

ログインノードを設定していて、Ubuntu 14.04のリポジトリからopenLDAPを使用していますが、attributeTypesの重複の問題が発生しています。

問題は「gecos」フィールド属性にあるようです。 slapcat、slapadd、またはslapindexを実行しようとすると、次の出力が得られます。

$ slapcat
53ecd288 olcAttributeTypes: value #0 olcAttributeTypes: Duplicate attributeType: "1.3.6.1.1.1.1.2"
53ecd288 config error processing cn={3}nis,cn=schema,cn=config: olcAttributeTypes: Duplicate attributeType: "1.3.6.1.1.1.1.2"
slapcat: bad configuration file!

そして、1.3.6.1.1.1.1.2をgrepすると、

$ cd /etc/ldap/ && grep -r '1.3.6.1.1.1.1.2' *
schema/nis.schema:attributetype ( 1.3.6.1.1.1.1.2 NAME 'gecos'
schema/nis.ldif:olcAttributeTypes: ( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th
slapd.d/cn=config/cn=schema/cn={3}nis.ldif:olcAttributeTypes: {0}( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th
slapd.d/cn=config/cn=schema/cn={2}nis.ldif:olcAttributeTypes: {0}( 1.3.6.1.1.1.1.2 NAME 'gecos' DESC 'The GECOS field; th

言うまでもなく、slapdは起動に失敗します。

この問題のトラブルシューティングについてどうすればよいかわかりません。この問題を検索したところ、別の古いサーバーからcore.schemaファイルを使用しようとしたときに同様の問題が発生していることがわかりました。別のサーバーのファイルを使用したことはなく、ldap.confとslapd.confを除いて、core.schemaやその他のコアファイルを編集していません。

誰かがこの問題についての洞察を持っていますか?それを修正するにはどうすればよいですか?

3
Zachary

問題は、OID 1.3.6.1.1.1.1.2を使用して2つの「異なる」属性(実際には同じ属性を2回)を定義したことであるように見えます。1回はcn=config,cn=schema,cn={3}nisで、もう1回はcn=config,cn=schema,cn={2}nis内。属性を参照するOIDは一意である必要があります。

ここでは、移行のどの段階にあるのかわかりませんが、同じスキーマを2回インポートした可能性があります。ある種の移行を行ったばかりの場合は、スキーマを1回だけ移行するように注意しながら、再試行することをお勧めします。

cn=config,cn=schemaにインポートするために一連のスキーマファイルをLDIFに変換したばかりの場合は、cn=config/cn=schemaフォルダーにNIS(または他のスキーマコンポーネント)の複数のエントリがないことを確認してください。 cn={2}nis.ldifcn={3}nis.ldifのファイルがあると思います。 diffを使用して、それらが同じ(またはどのように異なるか)を確認し、必要に応じてそれらをマージし、そのうちの1つだけが存在する状態で(新たに)インポートしてみます。

4
Falcon Momot