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