Calendar Server 支援託管 (或虛擬) 網域。在託管網域安裝中,各個網域共用同一 Calendar Server 實例,該實例允許多個網域存在於單台伺服器上。每個網域定義一個名稱空間,該名稱空間內所有使用者、群組和資源都是唯一的。每個網域還擁有您特別設定的一組屬性和喜好設定。
本章說明以下主題:
「Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide」論述準備安裝以使用託管網域所需的所有步驟。
如果您的站點目前被配置用於 Calendar Server 的多個實例或有限虛擬網域模式,請聯絡您的 Sun Microsystems 銷售客戶代表,以取得對您遷移需求的評估。
本小節提供託管網域的簡介,包括:
透過託管網域安裝,LDAP 目錄組織為各個不同的非交叉區段,每個區段代表網域名稱系統 (DNS) 中的一個網域。使用者、群組和資源 uid 在每個網域中都是唯一的。例如,每個網域中只可以有一個 uid 為 jdoe 的使用者。識別名稱 (DN) 說明每個網域的根。
Calendar Server 支援用於託管網域的以下兩個 LDAP 目錄模式版本:
Sun LDAP Schema 2 (compatibility or native mode)
執行 Directory Server 設定程序檔 (comm_dssetup.pl) 時,您可以選擇 LDAP Schema 1 或 LDAP Schema 2。以下是數條注意事項:
新安裝 — 如果您的站點要將 Calendar Server 6 2005Q4 做為新安裝來進行安裝,請使用 LDAP Schema 2。
升級 — 如果您的站點要從 Calendar Server 版本 5 升級,請按照以下說明使用模式版本:
如果您要使用 Access Manager 功能 (例如單次登入 [SSO]),或者您要使用 Delegated Administrator,請選擇 LDAP Schema 2。
如果您沒有託管網域,不想使用 Access Manager 功能,或者您不想使用 Delegated Administrator 佈建使用者,則可以使用任一模式版本。但是,如有可能,請使用 LDAP Schema 2。
下圖顯示了使用 Sun LDAP Schema 2 的託管網域安裝之 LDAP 目錄組織。
LDAP Schema 2 使用平面 LDAP 目錄組織,亦即所有網域均位於同一層級,而不是巢式的。對於託管網域安裝,第一層級項目 (如圖中的 varriusDomain、sestaDomain 和 siroeDomain) 在目錄組織中必須平行。這些項目不可被嵌套。
如果您要使用 Access Manager 功能 (例如單次登入 [SSO]),或者您要使用 Delegated Administrator 佈建使用者,則需要 Schema 2。但是,存在一種混合變化,同時使用 DC 樹狀結構和組織樹狀結構的雙樹狀結構模式 (類似於 Schema 1) 使用 Schema 2 物件類別和屬性。此為 Schema 2 相容性模式,在配置程式 (csconfigurator.sh) 中稱為 Schema 1.5。
下圖顯示了使用 Sun LDAP Schema 1 的託管網域安裝之 LDAP 目錄組織的範例。
該組織包含用於網域管理的兩個樹狀結構:DC 樹狀結構和組織樹狀結構 (OSI)
DC 樹
組織 (OSI) 樹
DC 樹狀結構 (節點) 類似於 DNS,可在給定網域名稱的情況下確定網域項目。inetdomainbasedn LDAP 屬性指向基底 DN,基底 DN 是 組織樹狀結構 (節點) 中網域使用者、資源和群組的根。在每個網域內,Calendar Server 使用者、資源和群組的識別碼都必須是唯一的。
如果您以前的 LDAP 配置不包含 DC 樹狀結構,若要使用 Schema 1 模式或 Schema 2 相容模式,則必須按照設置託管網域環境中的說明自行建立 DC 樹狀結構節點。
在使用 LDAP Schema 1 的託管網域安裝中,目錄搜尋需要以下兩個步驟來尋找項目:
在 DC 樹狀結構中,搜尋作業會找到包含指向組織樹狀結構中網域的基底 DN (inetDomainBaseDN 屬性) 之 DN 值的網域項目。
在組織樹狀結構中,搜尋作業會找到網域項目,然後從該項目的基底 DN 開始搜尋,以找到該網域中的相應使用者、資源或群組。
對於託管網域安裝,網域中的每位使用者都必須具有唯一的使用者 ID (uid)。請使用以下格式登入 Calendar Server:
userid[@domain-name]
如果省略 domain-name,Calendar Server 會使用由 ics.conf 檔案中的 service.defaultdomain 參數指定的預設網域名稱。因此,如果使用者要登入預設網域,僅需要 userid。
對於使用非託管網域環境的安裝,則不需要 domain-name。如果指定網域名稱,則其會被忽略。
如果自動佈建已啟用,Calendar Server 會在使用者首次登入時為其建立一個預設行事曆。如需有關建立行事曆的資訊,請參閱第 15 章, 管理行事曆。
登入權限以 icsStatus 或 icsAllowedServiceAccess 屬性為基礎。如需更多資訊,請參閱LDAP 屬性和特性名稱。
依預設,使用者僅可在自己的網域內搜尋使用者與群組,以邀請其參與事件。但是,只要滿足以下需求,交叉網域搜尋便允許一個網域中的使用者在其他網域中搜尋使用者和群組:
每個網域都可在 icsExtendedDomainPrefs 屬性的 domainAccess 特性中指定存取控制清單 (ACL),以允許或拒絕從其他網域進行交叉網域搜尋。因此,網域可以允許或不允許特定網域或所有網域對其進行搜尋。
如需有關 domainAccess 的說明,請參閱LDAP 屬性和特性名稱。如需有關 ACL 的一般資訊,請參閱存取控制清單 (ACL)。
每個網域可以指定其使用者可以搜尋的外部網域。icsDomainNames LDAP 屬性指定某個網域的使用者查找使用者和群組時可以搜尋的外部網域 (只要外部網域的 ACL 允許執行此種搜尋)。
例如,如果 various.org 網域的 icsDomainNames 列出 sesta.com 和 siroe.com,則 various.org 中的使用者便可在 sesta.com 和 siroe.com 中執行交叉網域搜尋。如需 icsDomainNames 的說明,請參閱LDAP 屬性和特性名稱。
如需有關如何啟用交叉網域搜尋的說明,請參閱啟用交叉網域搜尋。
Calendar Server 仍支援非託管網域 (亦即擁有單一網域) 環境中的作業。例如,如果您擁有現有的 Calendar Server 版本 5 或更早的舊版安裝,則透過將 ics.conf 參數 service.virtualdomain.support 設定為 "no",您仍可在單一網域環境中作業。另請參閱啟用託管網域。
但是,您仍需將舊版元件資料庫遷移至目前版本。如需遷移資訊,請參閱第 4 章, 資料庫遷移公用程式。
本小節包含在 LDAP 中建立新的託管網域項目之前可能需要執行的以下基本工作:
執行資料庫遷移公用程式。
如果您要從 Calendar Server 版本 5 遷移,請確定您在嘗試設定託管網域之前已執行 cs5migrate、csmig 和 csvdmig。您可從 Sun 的技術支援部門獲得最新版本的 cs5migrate。如需有關這些遷移公用程式的更多資訊,請參閱第 4 章, 資料庫遷移公用程式。
如果您尚未執行 comm_dsseetup.pl,請執行此作業。
它會更新包含支援託管網域所需參數的 ics.conf 檔案。
編輯 ics.conf 檔案以啟用託管網域。
下表列出並說明了 ics.conf 檔案中用於託管網域支援的配置參數。如果此表中列出的任何參數不在 ics.conf 檔案中,請將該參數及其關聯值增加至該檔案,然後重新啟動 Calendar Server 以使這些值生效。
參數 |
說明 |
---|---|
啟用 ("yes") 或停用 ("no") 託管 (虛擬) 網域模式的支援。預設為 "no"。 |
|
指定 LDAP 模式的版本:
|
|
service.dcroot |
指定 LDAP 目錄中 DC 樹狀結構的根目錄字尾 (如果 local.schemaversion="1")。 例如: "o=internet"。 在託管 (虛擬) 網域模式中,Calendar Server 使用 service.dcroot 參數,而非 local.ugldapbasedn 和 local.authldapbasedn 參數。 相反,在非託管 (虛擬) 網域模式中,Calendar Server 使用 local.ugldapbasedn 和 local.authldapbasedn 參數,而非 service.dcroot 參數。 |
指定所有網域所在的根目錄字尾 (如果 local.schemaversion="2")。 例如: "o=sesta.com"。 |
|
指定該 Calendar Server 實例的預設網域。登入期間未提供網域名稱時使用。 例如: "red.sesta.com"。 |
|
指定 Calendar Server 剖析 "userid[login-separator]domain" 時用於 login-separator 的分隔符號字串。Calendar Server 會依次嘗試每個分隔字元。 預設為 "@+"。 |
|
指定網域管理員的使用者 ID。 例如: DomainAdmin@sesta.com。 |
|
控制交叉網域搜尋:
|
|
指定網域語言。預設為 "en" (英文)。 |
建立預設網域項目。
對於 Schema 2,預設網域由 Delegated Administrator 配置程式 (config-commda) 建立。
對於 Schema 1,在 DC 樹根目錄字尾下建立一個或多個層級的預設網域 (其中一個託管網域),取決於您的 DC 樹結構。例如,如果您的根目錄字尾是 o=internet,則向下一個層級的節點為 com,如Sun LDAP Schema 1中所示。但是,您的預設網域為低一個層級的節點,例如 sesta.com。使用 csdomain 建立 DC 樹狀結構節點,如以下範例所示︰
csdomain -n o=com,dc=com,o=internet create comcsdomain -n o=sesta.com,dc=sesta,dc=com,o=internet create sesta.com
為預設網域項目啟用行事曆功能服務。
對於 Schema 1:使用 csattribute 在 LDAP 中將 icsCalendarDomain 物件類別增加至 o=sesta.com 網域項目。
對於 Schema 2:配置 Delegated Administrator 後,修改預設網域 (由 Delegated Administrator 配置程式建立) 以增加行事曆 (和郵件) 服務。在以下範例中,行事曆服務和郵件服務均被增加至託管網域:
commadmin domain modify -D admin -w passwd -d defaultdomain -S cal,mail
在系統上建立所需的託管網域。
如需有關如何在 Schema 2 模式中增加託管網域的說明,請參閱建立新的託管網域。
若要建立 Schema 1 託管網域,請使用 csdomain create,如以下範例所示:
csdomain -n o=red.sesta.com,dc=red,dc=sesta,dc=com create red.sesta.com
按照設置託管網域環境中的說明,為新託管網域啟用行事曆功能服務。
如果尚不存在 calmaster 網站管理員使用者,請建立該使用者。
對於 Schema 2,使用 commadmin user create 指令建立 calmaster 使用者,如以下範例所示:
commadmin user create -D admin -w passwd -F Calendar -L Administrator -l calmaster -W calmasterpasswd -d sesta.com -S cal
若要使用 Delegated Administrator 主控台的 [Create New User] 精靈建立 calmaster,請參閱 Delegated Administrator 線上說明。
對於 Schema 1,使用 csuser 在組織樹狀結構上建立 calmaster 使用者,如以下範例所示:
csuser o=sesta.com,o=rootsuffix -d sesta.com -g Calendar -s Administrator -ycalmasterpasswordcreate calmaster
如果 calmaster 網站管理員使用者已存在於以前的非託管網域環境 (Schema 1) 中,請執行以下步驟,以將其移至預設網域︰
執行現有 calmaster LDAP 項目的 LDAP 傾印,並將其儲存至暫存檔,例如 /tmp/calmaster.ldif。
使用 ldapdelete 刪除組織樹狀結構根目錄字尾上的現有 calmaster LDAP 項目,如下所示:
#ldapdelete -D "cn=Directory Manager" -w password uid=calmaster,ou=People,o=rootsuffix
修改行事曆管理員的群組項目 (更新 uniqueMember 屬性),以反映所做的變更,如以下 LDIF 範例所示:
dn:cn=Calendar Administrators,ou=Groups,o=rootsuffix changetype:modifyreplace:uniqueMember uniqueMember:uid=calmaster,ou=People,o=sesta.com,o=rootsuffix |
無須將群組項目移至託管網域。
更新您擁有的所有管理程序檔,以使 WCAP 指令中的 calid 完全合格。亦即每個 calid 現在均必須包含網域名稱。例如: jsmith@sesta.com 。
如果 Messaging Server 建立了託管網域,則可以針對 Schema 1 或 Schema 2 為它們啟用行事曆。本小節包括以下主題:
若要在網域中啟用行事曆功能,請將以下物件類別和兩個屬性增加至每個您要啟用行事曆的網域之 LDAP 網域項目:
物件類別:icsCalendarDomain。
屬性:icsStatus。將值設定為 “active”。
屬性:icsExtendedDomainPrefs。將屬性選項 domainAccess 的值設定為您要用於存取控制的 ACL。
您可以使用以下兩種方法之一來執行此動作:使用 csattribute add 指令或使用 ldapmodify,如以下範例所示:
dn:dc=sesta,dc=com,o=internet changetype:modify add:objectclass objectClass:icsCalendarDomain add:icsStatus icsStatus:active add:icsExtendedDomainPrefs icsExtendedDomainPrefs:domainAccess=@@d^a^slfrwd^g;anonymous^a^r^g;@^a^s^g |
如果您已將現有 Messaging Server LDAP 項目遷移至 Schema 2 (使用 commdirmig),或者您原來在 Schema 2 模式中建立了 Messaging Server LDAP 項目,請執行以下兩個步驟,以啟用行事曆功能:
使用 Delegated Administrator 公用程式帶有 -S 選項的指令 commadmin domain modify 將行事曆服務增加至每個網域。
或者,您可以使用 Delegated Administrator 主控台將包含行事曆服務的服務套裝軟體配置給受影響的網域。若要執行此作業,請使用 [組織清單] 頁面上的 [配置服務套裝軟體] 按鈕。
使用 Delegated Administrator 公用程式帶有 -S 選項的指令 commadmin user modify 將行事曆服務增加至每個啟用行事曆功能的網域中的每個使用者。
或者,您可以使用 Delegated Administrator 主控台將包含行事曆服務的服務套裝軟體指定給受影響網域中的每個使用者。若要執行此作業,請在每個受影響的組織中使用 [使用者清單] 頁面上的 [指定服務套裝軟體] 按鈕。
如需有關 commadmin 指令的資訊,請參閱「Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide」。
如需有關 Delegated Administrator 主控台的更多資訊,請參閱其線上說明。
如需有關 commdirmig 的資訊,請參閱「Sun Java System Communications Services 6 2005Q4 Schema Migration Guide」。