域是微軟網(wǎng)絡中最重要的概念之一。用比較簡單的話說,域?qū)嶋H上就是指一組服務器與工作站,并且它們同意將用戶和機器帳戶的名稱及密碼集中放在一個共享數(shù)據(jù)庫內(nèi)。這種做法非常有用,并且適合任何規(guī)模的網(wǎng)絡,因為域使得用戶只需要一個用戶名和密碼就可以訪問企業(yè)的域系統(tǒng)中所有的電腦。當系統(tǒng)管理員為一位新員工建立一個帳戶后,他馬上(有復制情況除外)就可以訪問網(wǎng)絡中允許他訪問的任何資源。而當需要修改密碼時,只需要修改一次,整個域都能識別并接受新密碼。
把用戶與機器帳戶及密碼集中管理只是一個開始。首先在NT3.51系統(tǒng)上出現(xiàn)了用戶配置文件;在NT4上,域成了集中放置“系統(tǒng)策略”的地方;Windows2000的域可以集中存儲DNS信息,并且還提供了“系統(tǒng)策略”的改良版本“組策略”,組策略可以說是整個網(wǎng)絡中某種形式的“控制面板”。
當然,并不是一定要有域才能將一些運行Windows系統(tǒng)的電腦組成網(wǎng)絡,但是如果在網(wǎng)絡中有了域,那么很多事情都會變得非常容易。
Active Directory(AD)域的作用
域可以做很多事情。我只能介紹其中一部分的內(nèi)容,但這不是一份清單。這些內(nèi)容包括:
? * 集中存儲用戶和密碼
? * 提供一組服務器作為“身份認證”和“登錄”服務器,也就是“域控制器”
? * 對域中的資源維護一個可供搜索的索引,方便人們查找
? * 允許建立帶有不同級別的用戶;同時,域還允許創(chuàng)建子管理員
? * 允許將域細分
網(wǎng)絡的首要任務是提供服務,它是集中存儲文件或數(shù)據(jù)庫、共享打印機以及其它服務的地方,使人們
可以通過電子郵件或是其它技術彼此通信。第二個任務是:安全。那么在一些保護代措施下會發(fā)生兩件事情:
? * 身份驗證
? * 授權
早期的NT系統(tǒng),從3.1到4都只有一個文件,叫作SAM,也就是Security Accounts Manager的縮寫。它包含了用戶名、用戶全名、密碼、允許登錄時間、帳戶過期日期、說明、隸屬于組名和配置文件信息。這個文件是加密的。今天,NT系統(tǒng)仍然使用SAM,包含Windows 2000 Pro和Windows XP。默認情況下,Windows Server 2003服務器也包含并使用SAM。當然,少數(shù)系統(tǒng)將保存在Active Directory的集中數(shù)據(jù)庫中,這些服務器被稱為域控制器(Domain Controller),它們是沒有SAM的。在NT時代,域控制器使用的是SAM,自從Windows 2000以后,它們開始使用Active Directory。Active Directory在NTDS.DIT文件中存儲了SAM的大量用戶信息,而這兩者不同的地方很少。NTDS是一個經(jīng)過修改的數(shù)據(jù)庫,并且存儲的數(shù)據(jù)要比SAM多得多。
那么AD域與NT域之間有什么不同呢?讓我們來看看:AD域比NT域大得多。在NT域中最多容納5000個用戶帳戶,這也使得一些大型企業(yè)建議多域來維護自己的全部用戶帳戶,這樣的域稱為多主模型。而AD域可以在Active Directory容納150萬個用戶,這對任何一家企業(yè)來說都足夠了。不是嗎?
現(xiàn)在讓我們來看一下什么時候工作站會使用位于AD中的信息。當用戶試圖訪問一個文件共享時,AD就會驗證他的身份。也就是說,你坐在電腦A前,試圖訪問服務器B上的一個共享文件,那么B會問A你是誰,然后才決定是否讓你得到這個文件的訪問權。可見,AD提供了一個集中式的數(shù)據(jù)庫,用來存儲用戶帳戶。
假如我有1000名用戶,1000臺工作站,還有50臺服務器。這1000名用戶中的任何人都需要訪問我的任何一臺服務器,而且,我還要使這些用戶能夠在任何一臺電腦前登錄工作。想想,如果不用域,我要做些什么事情?我必須在1000臺工作站上的SAM中輸入每個用戶的帳戶,還要在每臺服務器前做同樣的事情,這太不可思議了,太可怕了。而如果我用域呢?那么我只需要在少量的服務器上存儲一個用戶和密碼數(shù)據(jù)庫,這就是NTDS.DIT,然后為網(wǎng)絡提供服務,我們把這些少量的機器稱為“登錄服務器”或是“身份驗證服務器”,也就是常常聽說的“域控制器”。
域控制器是具有如下特征的電腦:
? * 運行Server版本的操作系統(tǒng)
? * 維護域信息的數(shù)據(jù)庫
? * 保證多臺域控制器之間的域信息副本一致
? * 提供身份驗證服務
關于搜索部分略過,實在找不到有什么好說的。
當網(wǎng)絡發(fā)展到足夠大的時候,那么我們可能就需要在這個大型的網(wǎng)絡上進行一些必要的調(diào)整了,我們可能需要把這個網(wǎng)絡劃分為多個小一些的網(wǎng)絡,也就意味著需要創(chuàng)建子域,同時需要子域管理員做一些諸如重設密碼備份文件之類的操作。隨著網(wǎng)絡規(guī)模的加大與職責的增多,我們可能需要分派更多的工作給子域管理員,這就會牽涉到權限分配和連接性及復制的問題。當公司有分散在各地的機構時,其中一名用戶變更了密碼或是新加入一個用戶帳戶時,這個大型網(wǎng)絡的AD之間需要在這些方面發(fā)生變化時需要彼此通信并且進行AD復制。NT4系統(tǒng)中,NT4域控制器每5分鐘更新一次,也就意味著每5分鐘,一臺域控制器會試圖將發(fā)生的改變復制到另一臺域控制器上,就算是慢速連接也是這樣,這樣的通信會給通信線路造成堵塞,也會使一些更重要的數(shù)據(jù)傳輸無法實現(xiàn)。AD在這方面進行了改進,它允許用戶告訴域控制器之間采取了哪種連接,讓域控制器知道如何運用這些連接來達到更好的復制效果。而且,Windows 2000可以在發(fā)送數(shù)據(jù)前對數(shù)據(jù)進行壓縮,比例甚至可以達到10:1,而Server 2003上我們可以選擇是否進行壓縮處理,因為壓縮處理會需要一定有CPU處理能力。
首先說明一點:本文假設你已經(jīng)建立了一個Active Directory域,并且擁有一定的Active Directory知識,關于AD方面規(guī)劃更多的內(nèi)容,你可以參考Microsoft網(wǎng)站(http://www.microsoft.com/china/technet/desktopdeployment/inframan/inframanad.mspx)。
當然,要使一個AD系統(tǒng)運轉(zhuǎn)起來,還必須具備以下條件:
* 操作主機
* 時間同步
* 域數(shù)據(jù)庫同步
* 站點
這里,我們著重介紹操作主機的架構角色。
我們知道,AD域及域控制器與NT4或更早的域之間一大區(qū)別就在于采用了多主機復制技術代替了單主機復制技術。在NT4及更早系統(tǒng)中,有一臺域控制器叫“主域控制器”,其中保存著一份SAM,這份SAM是可以被修改的唯一的副本(主副本),其他域控制器叫“備份域控制器”。它們可以對用戶身份進行驗證,但不接受對帳戶進行更改。AD系統(tǒng)對此進行了改進,形成了多主復制機制。在多主復制機制下,任何域控制器都可以接受對用戶帳戶的更改。由于任何域控制器都可以接受更改信息,因此任何域控制器都可以擁有可寫副本(主副本),因此稱為多主復制。Active Directory在整體結構中都在實現(xiàn)分布式控制,所有的域控制器都基本相同,但有時候,部分域控制器也有一些不地方,這就是服務于五種角色的域控制器,這些域控制器被稱為“操作主機”,也就是Flexible Single Master of Operator(FSMO)。
AD環(huán)境中有五種FSMO角色:
* 架構
* 域命名
* RID
* 主域控制器
* 基礎設施