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