Windows 2000組策略詳解
這篇文章主要講述組策略是如何對系統(tǒng)起作用的、系統(tǒng)內(nèi)部的工作原理以及在Win2K環(huán)境中采用這一技術(shù)時(shí)應(yīng)該注意的問題,如果了解NT 4.0中系統(tǒng)策略的原理對我們理解組策略有一定的幫助。
對臺(tái)式機(jī)配置更詳盡的控制
組策略是Windows 2000中新增加的我最喜歡的功能,它給了我Windows NT從來沒有提供過的功能━━對用戶計(jì)算機(jī)集中而詳盡的控制,我們可以把組策略看作是NT 4.0中系統(tǒng)策略的改進(jìn)。組策略對象(GPO)是基于活動(dòng)目錄(AD)的對象,用戶可以通過它集中地對Win2K臺(tái)式機(jī)和服務(wù)器系統(tǒng)進(jìn)行配置,它的功能包括從NT 4.0臺(tái)式機(jī)的鎖定到安全性配置和軟件安裝等。
組策略是什么?
GPO是一種與域、地址或組織單元相聯(lián)系的物理策略。在NT 4.0系統(tǒng)中,一個(gè)單一的系統(tǒng)策略文件(例如ntconfig.pol)包括所有的可以執(zhí)行的策略功能,但它依賴于用戶計(jì)算機(jī)中的系統(tǒng)注冊表的設(shè)置。在Win2K中,GPO包括文件和AD對象。通過組策略,可以指定基于注冊表的設(shè)置、使用NT 4.0格式.adm模板文件的運(yùn)行Win2K的本地計(jì)算機(jī)、域的安全設(shè)置和使用Windows安裝程序的網(wǎng)絡(luò)軟件安裝,這樣在安裝軟件時(shí)就可以對文件夾進(jìn)行重定向。
微軟管理控制臺(tái)(MMC)中的組策略編輯器(GPE)插件與NT 4.0中的系統(tǒng)策略編輯器poledit.exe相當(dāng)。在GPE中的每個(gè)功能節(jié)點(diǎn)(例如軟件設(shè)置、Windows 設(shè)置、管理模塊等)都是MMC插件擴(kuò)展,在MMC插件中擴(kuò)展是可選的管理工具,如果你是應(yīng)用程序開發(fā)者,可以通過定制的擴(kuò)展拓展GPO的功能,從而針對你的應(yīng)用程序提供附加的策略控制。
只有運(yùn)行Win2K的系統(tǒng)可以執(zhí)行組策略,運(yùn)行NT 4.0和Windows 9x的客戶機(jī)則無法識(shí)別到或運(yùn)行具有AD架構(gòu)的GPO。
組策略和AD
要充分發(fā)揮GPO的功能,需要有AD域架構(gòu)的支持,利用AD可以定義一個(gè)集中的策略,所有的Win2K服務(wù)器和工作站都可以采用它。然而,每臺(tái)運(yùn)行Win2K的計(jì)算機(jī)都有一個(gè)本地GPO(駐留在本地計(jì)算機(jī)文件系統(tǒng)上的GPO),通過本地GPO,可以為每臺(tái)工作站指定一個(gè)策略,它在AD域中不起作用。例如,出于安全原因,你不會(huì)在AD域中配置公用的計(jì)算機(jī)。利用本地GPO,可以通過修改本地策略來得到安全性和對臺(tái)式機(jī)的限制使用而無需利用基于AD域的GPO。訪問本地GPO的方法有2種,第1種方法,在需要修改GPO的計(jì)算機(jī)的“開始”菜單上選擇“運(yùn)行”,然后鍵入:
gpedit.msc
這個(gè)操作的作用與NT 4.0中的poledit.exe相同,可以打開本地策略文件。第2種方法,可以通過在MMC控制臺(tái)中選擇GPE插件,并選擇本地或遠(yuǎn)程計(jì)算機(jī)來人工地編輯本地GPO。
本地GPO支持除軟件安裝和文件夾重定向之外的所有缺省擴(kuò)展,因此,只利用本地GPO你不能完成這些工作,如果想充分發(fā)揮GPO的功能,還是需要AD的支持。
GPO的多樣性和繼承
在AD中,可以在域、組織單位(OU)或地址三個(gè)不同的層次上定義GPO。OU是AD中的一個(gè)容器,可以指派它對用戶、組、計(jì)算機(jī)等對象進(jìn)行管理,地址是網(wǎng)絡(luò)上子網(wǎng)的集合,地址形成了AD的復(fù)制分界線。GPO的名字空間被劃分為計(jì)算機(jī)配置和用戶配置兩個(gè)大類,只有用戶和計(jì)算機(jī)可以使用GPO,象打印機(jī)對象甚至用戶組都不能應(yīng)用GPO。
在一個(gè)域或組織單位(OU)中編輯策略的途徑有幾種。在活動(dòng)目錄用戶或計(jì)算機(jī)MMC插件中,右擊一個(gè)域或組織單位(OU),在菜單中選擇“屬性”,然后選擇“組策略”標(biāo)簽。在編輯地址中的策略時(shí),需要右擊“活動(dòng)目錄地址和服務(wù)”插件,然后右擊需要的地址得到其GPO。此外,還可以從“開始”菜單,選擇“運(yùn)行”,然后鍵入:
mmc.exe
啟動(dòng)MMC,選擇“控制臺(tái)”,“增加/刪除”插件,然后選擇“組策略”插件、“瀏覽”,在AD域內(nèi)的GPO就會(huì)顯示出來,可以選擇一個(gè)GPO進(jìn)行編輯。
根據(jù)GPO在AD名字空間中的不同位置,可以有幾個(gè)GPO對用戶對象或計(jì)算機(jī)對象起作用。只有域中的其他對象是通過繼承生成時(shí)GPO才是通過繼承生成的。Win2K通過下面的方式執(zhí)行GPO,首先,操作系統(tǒng)執(zhí)行現(xiàn)有的本地系統(tǒng)上的策略,然后,Win2K執(zhí)行定義的地址級(jí)的GPO、域一級(jí)的GPO和基于OU的GPO,微軟把這一優(yōu)先順序取其***字母縮寫為LSDOU(執(zhí)行的順序依次是本地、地址、域、OU層次的GPO),用戶可以在這個(gè)鏈上的許多層次上定義GPO。我們以pilot域?yàn)槔f明如何察看一個(gè)系統(tǒng)中的GPO,啟動(dòng)“活動(dòng)目錄用戶和計(jì)算機(jī)MMC”工具,右擊pilot域名,從菜單中選擇“屬性”項(xiàng),然后選擇組策略標(biāo)簽。在這個(gè)列表頂端的GPO(例如域范圍的安全策略)有***的優(yōu)先權(quán),因此,Win2K***才會(huì)執(zhí)行它。除了本地系統(tǒng)外,可以在每個(gè)層次上定義幾個(gè)GPO,因此如果不能嚴(yán)格地管理GPO,就會(huì)出現(xiàn)不必要的問題。
GPO的繼承模型與Novell公司的Zenworks策略方式截然不同。在Zenworks中,如果在Novell目錄服務(wù)(NDS)樹上的不同點(diǎn)使用多個(gè)策略包,只有距離用戶對象最近的策略包才起作用。在Win2K中,如果在AD的不同層次上定義四個(gè)GPO,操作系統(tǒng)使用“LSDOU”優(yōu)先順序來執(zhí)行這些策略,對計(jì)算機(jī)或用戶的作用是這四個(gè)策略執(zhí)行的“和”。此外,有時(shí)在一個(gè)GPO中的設(shè)置會(huì)被其他GPO中的設(shè)置抵銷。通過AD級(jí)GPO,用戶可以擁有更多的策略控制委托,例如,公司的安全部門負(fù)責(zé)在域一級(jí)上設(shè)計(jì)用于所有系統(tǒng)設(shè)備的安全GPO。通過使用GPO,可以讓某個(gè)OU的系統(tǒng)管理員擁有在OU上安裝軟件的權(quán)利。在Zenworks模型中,必須在希望使用策略的所有層次上復(fù)制這些策略,而且策略對用戶或計(jì)算機(jī)對象的作用并非是所有策略的“和”。
為了進(jìn)一步地控制GPO,微軟提供了三種設(shè)置來限制GPO繼承的復(fù)雜性。在地址、域、OU三個(gè)層次上用戶都可以通過選擇一個(gè)檢查框阻止從更高一個(gè)層次上進(jìn)行繼承,同樣,在每一個(gè)層次上,用戶可以選擇缺省的域策略選項(xiàng),方法是打開“活動(dòng)目錄用戶和計(jì)算機(jī)”插件,右擊GPO所在的域或OU,從菜單中選擇“屬性”,然后選擇“組策略”標(biāo)簽。讓你希望修改的項(xiàng)目變亮,然后選擇“選項(xiàng)”按鈕,可供選擇的選項(xiàng)有“不覆蓋”或“禁止”。如果選擇了“不覆蓋”選項(xiàng),即使選擇了不能繼承的檢查框,該GPO還是會(huì)起作用。如果想在任何一個(gè)地方執(zhí)行一個(gè)GPO時(shí),這一功能就很有用處。如果一個(gè)OU的管理員試圖阻止對安全策略的繼承,包含安全策略的GPO仍然會(huì)被系統(tǒng)執(zhí)行。“禁止”檢查框可以完全禁止一個(gè)GPO執(zhí)行,這一功能在你對一個(gè)GPO進(jìn)行編輯而不想讓其他的用戶執(zhí)行它時(shí)特別有效。
GPO的執(zhí)行和過濾
只有用戶和計(jì)算機(jī)對象才能執(zhí)行組策略。在計(jì)算機(jī)的啟動(dòng)和關(guān)閉時(shí),Win2K執(zhí)行在GPO的計(jì)算機(jī)配置部分定義的策略,在用戶登錄和注銷時(shí),Win2K執(zhí)行在GPO中用戶配置部分定義的策略。事實(shí)上,在用戶登錄時(shí)可以通過手動(dòng)方式執(zhí)行一些的策略,例如可以在命令行方式下運(yùn)行secedit.exe程序執(zhí)行安全策略應(yīng)用程序。此外,通過管理員模塊策略可以定期地對用戶和計(jì)算機(jī)的GPO設(shè)置進(jìn)行刷新,缺省情況下,這種刷新每90分鐘進(jìn)行一次,這種刷新可以使其他用戶不容易修改通過組策略定義的策略。但是,軟件安裝策略是不會(huì)刷新的,因?yàn)闆]有人希望周期性地改變策略引起軟件的“缷載”,尤其是有其他用戶在使用時(shí),就更是這樣了。計(jì)算機(jī)、用戶對象只有在計(jì)算機(jī)啟動(dòng)或用戶登錄時(shí)才會(huì)軟件安裝策略。
盡管只有AD中的計(jì)算機(jī)和用戶對象才能執(zhí)行GPO,但我們可以過濾GPO的效果。使用Win2K中的安全組、應(yīng)用組策略━━這是Win2K中的一項(xiàng)新的安全特性,可以使特定的用戶組不能執(zhí)行某一個(gè)GPO。右擊MMC中GPO的名字,選擇“屬性”,然后再選擇“安全”,就可以看到GPO目前的安全設(shè)置。認(rèn)證用戶組具有應(yīng)用組策略權(quán)利,從而附屬這一GPO的所有用戶可以執(zhí)行它。在Win2K中,安全組可以包括用戶和計(jì)算機(jī)對象。因此,利用安全組可以仔細(xì)地調(diào)整用戶、計(jì)算機(jī)對象如何執(zhí)行一個(gè)GPO。你還可以對個(gè)別的應(yīng)用程序應(yīng)用安全組,可以指派一個(gè)GPO的軟件安裝部分。例如,假設(shè)你在一個(gè)GPO中發(fā)布10個(gè)應(yīng)用程序,可以指定只讓金融用戶用戶組訪問其中的5個(gè),其他用戶登錄到這個(gè)域時(shí),它們也不會(huì)發(fā)現(xiàn)這5個(gè)應(yīng)用程序。
GPO的內(nèi)部構(gòu)成
一個(gè)GPO是由兩部分組成的:組策略容器(GPC)和組策略模板(GPT)。GPC是GPO在AD中的一個(gè)實(shí)例,在一個(gè)特殊的被稱作系統(tǒng)的容器內(nèi)有一個(gè)128位的全球唯一的ID碼(GUID)。在“活動(dòng)用戶目錄用戶和計(jì)算機(jī)”插件中選擇“瀏覽”,從MMC菜單中選擇“高級(jí)屬性”,就可以看到“系統(tǒng)”容器。GPT是組策略在Win2K文件系統(tǒng)中的表現(xiàn),與一個(gè)GPO有關(guān)的所有文件依賴于GPT。
GPO帶來的難題
雖然GPO的功能很強(qiáng)大,但要掌握它可不容易。最難掌握的是如何判斷一條有效的策略如何對域中的計(jì)算機(jī)或用戶起作用,由于GPO可以存在于AD鏈中不同的層次上,這種判斷就特別困難。同時(shí),由于可以指派一個(gè)GPO的控制,因此不大容易清楚其他的GPO是否會(huì)對你沒有控制權(quán)的容器中的GPO有影響。因此,計(jì)算一個(gè)計(jì)算機(jī)或用戶對象接收的“策略的結(jié)果集”(RSoP)是相當(dāng)困難的。盡管微軟還沒有提供計(jì)算RSoP的工具,但已經(jīng)有第三方廠商提供了相應(yīng)的計(jì)算RSoP的工具。
另一個(gè)難題是策略的執(zhí)行。如果在AD鏈上的許多層次上都存在有GPO,在用戶每次登錄或系統(tǒng)啟動(dòng)時(shí)都會(huì)執(zhí)行所有的GPO。在Win2K系統(tǒng)中,微軟推出了一些新的功能來優(yōu)化系統(tǒng)的性能。首先,GPO的版本信息依賴于工作站和GPO,如果GPO沒有變化,系統(tǒng)就不會(huì)執(zhí)行它。另外,在GPE的屬性頁上,可以禁止用戶或計(jì)算機(jī)對GPO的執(zhí)行。如果建立一個(gè)GPO用來分發(fā)關(guān)閉系統(tǒng)或啟動(dòng)系統(tǒng)時(shí)的腳本,禁用GPO的用戶配置部分,這樣會(huì)使工作站不能解析GPO并判斷它是否已經(jīng)發(fā)生了什么變化。
***的一個(gè)難題起源于GPC和GPT是兩個(gè)單獨(dú)的實(shí)體。GPC是AD中的一個(gè)對象,它與GPT中包含的文件的復(fù)制不同步,這意味著創(chuàng)建一個(gè)GPO時(shí),在GPT開始向域控制器上的Sysvol復(fù)制文件之前GPC可能已經(jīng)開始進(jìn)行復(fù)制了。
所有問題的起源都是由于AD使用了一種多主體的復(fù)制模式。理論上,當(dāng)另一個(gè)系統(tǒng)管理員在一個(gè)域控制器上編輯一個(gè)GPO時(shí),你也可以在某個(gè)域上對它進(jìn)行編輯。因此,當(dāng)建立一個(gè)GPE時(shí),缺省狀態(tài)下指的是在“操作主體”中充當(dāng)PDC的域控制器。(“操作主體”是AD基礎(chǔ)結(jié)構(gòu)中的一系列托管功能,用作PDC的服務(wù)器可以兼容運(yùn)行NT和Win9x的工作站。)一般情況下,可以通過只向少數(shù)的系統(tǒng)管理員授予編輯GPO的權(quán)利來避免這種情況的發(fā)生,并保證如果有人在編輯GPO時(shí),讓其他的人都知道。此外,需要注意的是,在對一個(gè)GPO進(jìn)行編輯時(shí),要“禁止”它,修改結(jié)束后重新使能。
GPO的優(yōu)缺點(diǎn) GPO的優(yōu)點(diǎn)是可以讓用戶靈活地控制Win2K環(huán)境,但伴隨著靈活性而來的是復(fù)雜性。如果能夠正確、靈活地運(yùn)用GPO,就能使Win2K發(fā)揮出更加強(qiáng)大的功能。
希望本文對Windows 2000組策略的詳解能夠?qū)ψx者有所幫助。更多有關(guān)組策略的知識(shí)有待于讀者去學(xué)習(xí)和鞏固。
【編輯推薦】