Linux
OpenLDAP 給出重複的屬性類型錯誤
我正在設置登錄節點並使用 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.ldif
和cn={3}nis.ldif
;使用 diff 來查看它們是否相同(或它們有何不同),如有必要,合併它們,並嘗試(新)僅在其中一個存在的情況下導入。