Sun Java System Directory Server Enterprise Edition 6.0 管理指南

透過 LDAP 管理屬性類型

本節說明如何透過 LDAP 建立、檢視及刪除屬性類型。

建立屬性類型

cn=schema 項目具有多值屬性 attributeTypes,此屬性含有目錄模式中各種屬性類型的定義。您可以使用 ldapmodify(1) 指令增加至這些定義。

新的屬性類型定義,以及您對使用者定義的屬性類型所做的變更,都會儲存在 99user.ldif 檔案中。

對於每個屬性類型定義,您必須至少提供一個 OID 以定義您新的屬性類型。請考慮對新的屬性類型至少使用下列元素:

Procedure建立屬性類型

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 根據 RFC 4517 中所指定的語法,備妥您的屬性類型定義。

  2. 使用 ldapmodify(1) 指令,增加您的屬性類型定義。

    請注意,目錄伺服器會將 X-ORIGIN 'user defined' 增加到您所提供的定義中。


範例 11–1 建立屬性類型

下列範例使用 ldapmodify 指令,增加使用「目錄字串」語法的新屬性類型。


$ cat blogURL.ldif 
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( 1.2.3.4.5.6.7 
 NAME ( 'blog' 'blogURL' ) 
 DESC 'URL to a personal weblog' 
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 
 SINGLE-VALUE )

$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w - -f blogURL.ldif
Enter bind password: 
modifying entry cn=schema

$

在生產環境中,您必須提供有效且唯一的 OID,而非 1.2.3.4.5.6.7


檢視屬性類型

cn=schema 項目具有多值屬性 attributeTypes,此屬性含有目錄模式中各種屬性類型的定義。您可以使用 ldapsearch(1) 指令讀取這些定義。

Procedure檢視屬性類型

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

    使用 ldapsearch 指令,檢視目前位於您目錄模式中的所有屬性類型定義。


範例 11–2 檢視屬性類型

下列指令可顯示所有屬性類型的定義:


$ ldapsearch -T -b cn=schema "(objectclass=*)" attributeTypes

-T 選項可使 ldapsearch 指令不會進行 LDIF 換行,而使您能夠更容易地使用 grepsed 之類的指令處理輸出。若您接著透過 grep 指令對此指令的輸出使用管道符號,就只能檢視目錄模式內使用者定義的延伸。例如:


$ ldapsearch -T -b cn=schema "(objectclass=*)" attributeTypes | grep "user defined"
 attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) 
 DESC 'URL to a personal weblog' 
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE 
 X-ORIGIN 'user defined' )

刪除屬性類型

cn=schema 項目具有多值屬性 attributeTypes,此屬性含有目錄模式中各種屬性類型的定義。您可以使用 ldapmodify(1) 指令刪除具有 X-ORIGIN 'user defined' 的定義。

模式係由 LDAP 檢視定義於 cn=schema 中,因此您可以使用 ldapsearchldapmodify 公用程式,以線上方式檢視及修改模式。但您只能刪除在 X-ORIGIN 欄位中具有 'user defined' 值的模式元素。伺服器將不會刪除其他定義。

您對使用者定義的屬性所做之變更,會儲存在 99user.ldif 檔案中。

Procedure刪除屬性類型

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 檢視所要刪除之屬性類型的定義。

    如需詳細資訊,請參閱檢視屬性類型

  2. 使用 ldapmodify(1) 指令,刪除模式中所出現的屬性類型定義。


範例 11–3 刪除屬性類型

下列指令將刪除範例 11–1 中所建立的屬性類型:


$ ldapmodify -D cn=admin,cn=Administrators,cn=config -w -
Enter bind password: 
dn: cn=schema
changetype: delete
delete: attributeTypes
attributeTypes: ( 1.2.3.4.5.6.7 NAME ( 'blog' 'blogURL' ) 
 DESC 'URL to a personal weblog' 
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE 
 X-ORIGIN 'user defined' )
^D

請注意,您必須納入 X-ORIGIN 'user defined' 這項由目錄伺服器增加,而用以將此模式定義歸類為延伸的屬性。