cn=schema 項目具有多值屬性 objectClasses,此屬性含有目錄模式中各種物件類別的定義。您可以使用 ldapmodify(1) 指令增加至這些定義。
新的物件類別定義,以及您對使用者定義的物件類別所做的變更,都會儲存在 99user.ldif 檔案中。
若要建立數個繼承其他物件類別的物件類別,您必須先建立父系物件類別。若您的新物件類別使用自訂屬性,則也必須先定義這些屬性。
對於每個物件類別定義,必須至少提供一個 OID。請考慮對新的物件類別至少使用下列元素:
物件類別 OID。對應至您物件類別的物件識別碼。OID 是一個可唯一識別模式物件的字串,通常為小數點十進位數字。
如需嚴格的 LDAP v3 規範遵循,則必須提供有效數值 OID。若想進一步瞭解 OID,或要為您的企業申請前綴,請將電子郵件寄至 IANA (網際網路位址指派機構) iana@iana.org,或造訪 IANA 網站。
物件類別名稱。對應至物件類別的唯一名稱。
父系物件類別。此物件類別從中繼承屬性的現有物件類別。
若不讓此物件類別繼承其他特定物件類別,請使用 top。
一般說來,若要為使用者項目新增屬性,父系會是 inetOrgPerson 物件類別。若要為公司項目新增屬性,父系通常是 organization 或 organizationalUnit。若要為群組項目新增屬性,父系通常是 groupOfNames 或 groupOfUniqueNames。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
根據 RFC 4517 中所指定的語法,備妥您的物件類別定義。
使用 ldapmodify(1) 指令,增加您的物件類別定義。
請注意,目錄伺服器會將 X-ORIGIN 'user defined' 增加到您所提供的定義中。
下列範例使用 ldapmodify 指令新增物件類別。
$ cat blogger.ldif dn: cn=schema changetype: modify add: objectClasses objectClasses: ( 1.2.3.4.5.6.8 NAME 'blogger' DESC 'Someone who has a blog' SUP inetOrgPerson STRUCTURAL MAY blog ) $ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -f blogger.ldif Enter bind password: modifying entry cn=schema $ |
在生產環境中,您必須提供有效且唯一的 OID,而非 1.2.3.4.5.6.8。