本章包含如何首次設定多重網域環境的簡介材料和說明。
多重網域環境中的網域以往稱為託管網域和虛擬網域。本文件會交互使用這些詞彙。
本章涵蓋以下主題:
Calendar Server 6.3 依預設具有多重網域,做為組織使用者和群組 LDAP 項目的唯一方式。換言之,在根節點下至少必須有一個網域,且所有使用者和群組項目都必須位於網域節點下。在舊版 Calendar Server 中,使用網域來包含使用者和群組項目是選擇性的。您可以在完全不使用網域的情況下執行 Calendar Server。但這種情況不再適用 Calendar Server 6.3;您至少必須有一個 (預設) 網域。
在多重網域環境中,各個網域共用同一 Calendar Server 系統實例,該實例允許多重網域存在於單台伺服器上。每個網域定義一個名稱空間,該名稱空間內所有使用者、群組和資源都是唯一的。每個網域還擁有您特別設定的一組屬性和喜好設定。網域的所有使用者和行事曆 ID 必須完全合格。
配置程式會要求您提供必要的資訊來設定預設網域。完成配置程式且建立所有需要的網域後,在將使用者和群組 LDAP 項目複製到所要的網域前,必須準備使用者和群組項目,方法是執行遷移公用程式,將非網域的使用者和群組 LDAP 項目轉換為網域可用的使用者和群組項目。要執行的公用程式為 csmig 和 csvdmig。
若是從非網域版的 Calendar Server 升級到 Calendar Server 6.3,您有以下幾種選擇:
可選擇移到單一預設網域模式。
在此情況下,必須將使用者和群組記錄移動到 LDAP 的網域節點下。
可選擇移到多重網域模式,在多重網域之間分散使用者和群組。
使用 Delegated Administrator 可建立更多網域。
若要將現有的使用者分散到多個網域,您需要執行遷移公用程式,將完全合格的網域名稱增加到您的資料庫使用者 ID 和行事曆 ID。如此就能在使用 Delegated Administrator 建立的網域之間分散您的使用者。請先建立網域再執行配置程式。
如果您先設定託管 (多重) 網域再升級到目前的版本,則不需改變使用者 ID 和行事曆 ID。但必須配置一些新的 ics.conf 參數,如下節所示:10.4 Calendar Server 版本 6.3 中多重網域模式的其他必要參數。
如果您的網站目前被配置用於單一機器上 Calendar Server 的多個實例,或您已實作有限的虛擬網域模式,請連絡您的 Sun Microsystems 銷售客戶代表,以取得對您遷移需求的評估。
若要從非網域環境或單一網域環境移到多重網域環境,您可能需要先執行下列作業再建立任何 LDAP 項目:
執行資料庫遷移公用程式。
若是從 Calendar Server 版本 5 遷移,請務必先執行 csmig、csvdmig、cs5migrate 和 csmigrate,再嘗試設定多重網域。如需有關這些遷移公用程式的更多資訊,請參閱第 3 章, Calendar Server 6.3 的資料庫遷移公用程式。
如果您尚未執行 comm_dsseetup.pl,請執行此作業。
以擁有變更配置權限的管理員身份登入。
透過發出 stop-cal 指令來停止 Calendar Server 服務。
編輯 ics.conf 檔案以啟用多重網域。
下表列出並說明了 ics.conf 檔案中用於多重網域支援的配置參數。如果此表中列出的任何參數不在 ics.conf 檔案中,請將該參數及其關聯值增加至該檔案,然後重新啟動 Calendar Server 以使這些值生效。
參數 |
說明 |
---|---|
啟用 ("yes") 多重網域支援。預設為 "yes"。 備註 – 請勿將此參數變更為 “no”,即使您將在單一網域中操作也如此。目前版本的 Calendar Server 需要將其設定為 “yes”。 |
|
指定 LDAP 模式的版本:
|
|
service.dcroot |
對於多重網域支援,此參數會取代 local.ugldapbasedn 和 local.authldapbasedn。 如果 local.schemaversion="1" 或 local.schemaversion="1.5" ,請指定 DC 樹狀結構 (包含所有網域) 的根尾碼。 例如: "o=internet"。 |
如果 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,如10.3.3 Calendar Server 版本 6.3 的 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 模式中增加網域的說明,請參閱13.2 建立新的 Calendar Server 網域。
若要建立 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 指令中的所有行事曆 ID (calid) 完全合格。亦即每個 calid 現在均必須包含網域名稱。例如:jsmith@sesta.com。
本小節包含一些概念資訊,可讓您更加瞭解多重網域的實作程序,以及多重網域與選擇模式版本的關係。
本小節包含以下主題:
透過多重網域安裝,LDAP 目錄組織為各個不同的非交叉區段,每個區段代表網域名稱系統 (Domain Name System, DNS) 中的一個網域。使用者、群組和資源唯一 ID 在每個網域中都是唯一的。例如,每個網域中只可以有一個 uid 為 jdoe 的使用者。辨別名稱 (distinguished name, DN) 是完全合格的網域名稱。
Calendar Server 支援以下兩個 LDAP 目錄模式版本:Schema 1 和 Schema 2。當您執行 Directory Server 設定程序檔 (comm_dssetup.pl) 時,您可以選擇 LDAP Schema 1 或 LDAP Schema 2。除非有使用 Schema 1 的特殊需要,否則請使用 Schema 2。
以下是使用 Schema 1 的兩個原因:
您已有 Schema 1,且不打算使用 Delegated Administrator 來寫入 LDAP。
您已有 Schema 1,且不打算使用 Access Manager 功能。
下圖顯示了使用 Sun LDAP Schema 2 的多重網域安裝之 LDAP 目錄組織。
LDAP Schema 2 使用平面 LDAP 目錄組織,亦即所有網域均位於同一層級,而不是巢式的。對於多重網域安裝,第一層級項目 (如圖中的 varriusDomain、sestaDomain 和 siroeDomain) 在目錄組織中必須平行。這些項目不可被嵌套。
如果您要使用 Access Manager 功能 (例如單次登入 (single sign-on, 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 樹狀結構 (節點) 類似於 DNS,可在給定網域名稱的情況下確定網域項目。inetdomainbasedn LDAP 屬性指向基底 DN,基底 DN 是 組織樹狀結構 (節點) 中網域使用者、資源和群組的根。在每個網域內,Calendar Server 使用者、資源和群組的識別碼都必須是唯一的。
如果先前的 LDAP 配置不含 DC 樹狀結構,則若要使用 Schema 1 模式或 Schema 2 相容性模式,您必須依照10.2 首次設定 Calendar Server 6.3 的多重網域環境的說明自行建立 DC 樹狀結構節點。否則將使用 Schema 2 模式。
在使用 LDAP Schema 1 的多重網域安裝中,目錄搜尋需要以下兩個步驟來尋找項目:
在 DC 樹狀結構中,搜尋作業會找到包含指向組織樹狀結構中網域基底 DN (inetDomainBaseDN 屬性) 之 DN 值的網域項目。
在組織樹狀結構中,搜尋作業會找到網域項目,然後從該項目的基底 DN 開始搜尋,以找到該網域中的相應使用者、資源或群組。
從 Calendar Server 6 開始,每個部署皆是針對多重網域而配置。若是從舊版 Calendar Server 升級,且未配置託管 (多重) 網域,則必須為 schema 模式增加以下參數:
以下清單中的參數若不存在,則必須增加至配置檔 (ics.conf) 中。
service.dcroot |
service.defaultdomain |
service.loginseparator |
service.virtualdomain.support 設為 "yes" |
service.virtualdomain.scope |
service.siteadmin.userid |
service.siteadmin.cred |
local.schemaversion 設定為 "1" |
以下清單中的參數若不存在,則必須增加至配置檔 (ics.conf) 中。
service.dcroot |
service.defaultdomain |
service.loginseparator |
service.virtualdomain.support 設為 "yes" |
service.virtualdomain.scope |
service.siteadmin.userid |
service.siteadmin.cred |
local.schemaversion 設定為 "2" |
service.schema2root |
對於多重網域安裝,網域中的每位使用者都必須具有唯一的使用者 ID (user ID, uid)。請使用以下格式登入 Calendar Server:
userid[@domain-name]
如果省略 domain-name,則 Calendar Server 會使用由 ics.conf 檔案中 service.defaultdomain 參數指定的預設網域名稱。因此,如果使用者要登入預設網域,僅需要 userid。
如果自動佈建已啟用,Calendar Server 會在使用者首次登入時為其建立一個預設行事曆。如需有關建立行事曆的資訊,請參閱第 15 章, 管理行事曆。
登入權限以 icsStatus 或 icsAllowedServiceAccess 屬性為基礎。如需更多資訊,請參閱D.9.3 LDAP 屬性和特性名稱。
Calendar Server 版本 5.0 及更早的版本沒有網域。因此,使用者和行事曆 ID 不需要完全合格。換言之,它們不需要網域名稱是 ID (例如 jdoe@domain.com) 的組成部分。如果在安裝目前版本的 Calendar Server 之前,uid 和 calid 不是完全合格的,則不必變更資料。系統會將發現的任何不合格 uid 和 calid 視為預設網域的一部分。但若要實作多重網域,則必須遷移 LDAP 和元件資料庫以指出每個使用者所屬的網域。
此外,您可能需要以其他方式遷移資料。有數個遷移程式。請檢查第 3 章, Calendar Server 6.3 的資料庫遷移公用程式中的遷移資訊。