Linux

OpenLDAP 給出重複的屬性類型錯誤

  • August 14, 2014

我正在設置登錄節點並使用 Ubuntu 14.04 上的儲存庫中的 openLDAP,我遇到了重複屬性類型的問題。

問題似乎在於“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!

當我 grep 1.3.6.1.1.1.1.2 我得到

$ 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 文件時遇到了類似的問題。我沒有使用來自不同伺服器的任何文件,也沒有編輯 core.schema 或任何其他核心文件,除了 ldap.conf 和 slapd.conf。

有人對這個問題有洞察力嗎?我能做些什麼來修復它?

看起來問題似乎在於您使用 OID 1.3.6.1.1.1.1.2 定義了兩個“不同”屬性(實際上是兩次相同的屬性),一次在 中cn=config,cn=schema,cn={3}nis,一次在 中cn=config,cn=schema,cn={2}nis。引用屬性的 OID 必須是唯一的。

我不知道您在遷移過程中處於哪個階段,但看起來您可能以某種方式兩次導入了相同的架構。如果您剛剛進行了某種遷移,您可能想再試一次,注意只遷移一次架構。

如果您剛剛將一堆模式文件轉換為 LDIF 以導入cn=config,cn=schema,請檢查cn=config/cn=schema文件夾中是否沒有 NIS(或任何其他模式組件)的多個條目。我認為您有文件cn={2}nis.ldifcn={3}nis.ldif;使用 diff 來查看它們是否相同(或它們有何不同),如有必要,合併它們,並嘗試(新)僅在其中一個存在的情況下導入。

引用自:https://serverfault.com/questions/620482