歡迎您光臨本站 註冊首頁

py 版主快進來,急事問您!

←手機掃碼閱讀     火星人 @ 2014-03-05 , reply:0

py 版主快進來,急事問您!

為結合公司的舊電郵系統,舊版本是:openldap-2.0.17,新的openldap版本為是:Openldap-2.3.23。
因為舊有的一些 attributetype 不能兼容新版本的使用,於是自己修改了一下公司的舊 schema 然後加入到新版的openldap中,結果啟動 slapd 后看到如下提示:

/schema/core.schema: line 31: attribute type "2.5.18.1" is operational  (這是怎麼回事呢?)

core.schema內容:

attributetype ( 2.5.18.1 NAME 'createTimestamp'
        EQUALITY generalizedTimeMatch
        ORDERING generalizedTimeOrderingMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.2 NAME 'modifyTimestamp'
        EQUALITY generalizedTimeMatch
        ORDERING generalizedTimeOrderingMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.3 NAME 'creatorsName'
        EQUALITY distinguishedNameMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.4 NAME 'modifiersName'
        EQUALITY distinguishedNameMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.10 NAME 'subschemaSubentry'
        EQUALITY distinguishedNameMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
        SINGLE-VALUE USAGE directoryOperation )


這個 2.5.18.1  是原來就存在的,也沒有跟別的數字衝突。我有些不了解OID。手頭上也沒有什麼資料可以查的。網上說的也不清楚。
希望你能給我解答一下,謝謝!

[ 本帖最後由 lg8080 於 2006-11-23 21:41 編輯 ]
《解決方案》

這些內部的attributetype很多已經被編譯在了openldap內部, 2.0.*的版本太早了,大概是2001年以前了吧,建議還是用新的schema再加上公司自己定義的schema文件
《解決方案》

又查了一下, createTimestamp定義OID和相關的定義都沒變,只是這些設計到內部操作的attributetype都被內置了, 這個改變是從2.1.*以後開始的
《解決方案》

謝謝py!
這是不是說這幾個attributetype不用我再做定義了是嗎?但是公司舊有的attributetype實在是太多了,主管又不肯放棄舊的attributetype,還說必須要原來是怎麼樣的,新的openldap里就要怎麼樣。看著這一大堆core.schema里的attributetype,真是累呀。

attributetype ( 2.5.18.1 NAME 'createTimestamp'
        EQUALITY generalizedTimeMatch
        ORDERING generalizedTimeOrderingMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.2 NAME 'modifyTimestamp'
        EQUALITY generalizedTimeMatch
        ORDERING generalizedTimeOrderingMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.3 NAME 'creatorsName'
        EQUALITY distinguishedNameMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.4 NAME 'modifiersName'
        EQUALITY distinguishedNameMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
        SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )

attributetype ( 2.5.18.10 NAME 'subschemaSubentry'
        EQUALITY distinguishedNameMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
        SINGLE-VALUE USAGE directoryOperation )

attributetype ( 2.5.21.1 NAME 'dITStructureRules'
        EQUALITY integerFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )

attributetype ( 2.5.21.2 NAME 'dITContentRules'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )

attributetype ( 2.5.21.4 NAME 'matchingRules'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )

attributetype ( 2.5.21.5 NAME 'attributeTypes'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )

attributetype ( 2.5.21.6 NAME 'objectClasses'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )

attributetype ( 2.5.21.7 NAME 'nameForms'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )

attributetype ( 2.5.21.8 NAME 'matchingRuleUse'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )

# From X.500(93)
attributetype ( 2.5.21.9 NAME 'structuralObjectClass'
        DESC 'X.500(93) structural object class'
        EQUALITY objectIdentifierMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
        NO-USER-MODIFICATION SINGLE-VALUE USAGE directoryOperation )

# LDAP Operational Attributes from RFC2252
attributetype ( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )

attributetype ( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )

attributetype ( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )

attributetype ( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )

attributetype ( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )

attributetype ( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )

attributetype ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
        EQUALITY objectIdentifierFirstComponentMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )
《解決方案》

對, 類似createTimestamp這樣的內部屬性就不用在schema中顯式定義了. 建議拿新的2.3.*的schema和舊的對比著修改, 就知道有那些遺漏了
《解決方案》

像subschemaSubentry、dITStructureRules、dITContentRules、matchingRules、altServer、ldapSyntaxes、supportedSASLMechanisms這些是不是要重寫objectclass呢?
《解決方案》

我不記得在schema里見過這些屬性, 可能都被內置編譯了. 最簡單的方法就是查2.3.*的schema文件,不存在的基本上就是被編譯進去了
《解決方案》

我可不可以這樣理解你的話:
像subschemaSubentry、dITStructureRules、dITContentRules、matchingRules、altServer、ldapSyntaxes、supportedSASLMechanisms 這些個attributetype如果在schema里查找不到的話就是被編譯進去了,對嗎?如果被編譯進去的話,那我就不要再重寫了,對嗎?

剛剛查看了一下新openldap里的schema文件,裡面均沒有看到有這些attributetype
《解決方案》

謝謝py!
太晚了,要休息了。明天好好看看schema里的東西,再看看那箇舊openldap的軟體包里的schema。

再次謝謝py!
晚安。

[火星人 ] py 版主快進來,急事問您!已經有414次圍觀

http://coctec.com/docs/service/show-post-43890.html