Windows 2000中的組策略簡介(轉)

gugu99發表於2007-08-12
Windows 2000中的組策略簡介(轉)[@more@]

  ACL是Access Control Lists 的縮寫,可理解為"存取控制表",ACL是windows2000&NT系統中,活動目錄物件安全描述符的一部分,每個活動目錄物件的安全描述符都由4部分構成:物件的建立者、物件所屬的組、自由存取控制和系統存取控制。其中自由存取控制實際是歸在ACL中的,ACL主要是決定活動目錄物件的許可許可權.而系統存取控制則主要是稽核活動目錄物件的許可許可權.通俗說,好比社會上的許可證管理:有負責發放許可證的部門,還有負責稽核許可證(許可權)的部門.Acldiag就是在些機制出了問題之後,如何進行診斷和維修的工具.

  這仍是一個命令列的工具,功能就是診斷活動目錄物件的許可權問題.它從"存取控制表"中讀取安全屬性資訊,並以易於理解的格式寫入一個文字檔案中,這些所謂的安全屬性資訊有:詳細的許可權描述、使用者和組等等,這個文字檔案也可以作為上傳的報告.

  使用Acldiag可以完成的任務有:

  1.在預設規劃中,比較ACL目錄服務物件定義的許可許可權.

  2.進行檢查或維護,使用模板,執行標準授權.

  3.對某個指定的使用者或組,或是對所有使用者和所有的組,得到它(或它們)有效的許可許可權,並在ACL中顯示出來.

  使用AclDiag工具僅僅能顯示出物件的許可權和使用者許可權.卻不能顯示其它諸如組策略之類的相應的資訊,這主要是因為組策略是虛擬物件,而對虛擬物件的名字,這個工具不能使用它們.

  二、AclDiag的語法:

  acldiag "ObjectDN" [/chkdeleg] [/fixdeleg] [/geteffective:{User | Group}] [/schema] [/skip] [/tdo]

  引數及說明:

  ObjectDN

  所指定活動目錄物件的正確的名字,在命令列中使用這個引數時,活動目錄物件名字必須使用引號.

  /chkdeleg

  檢查物件的委託及授權的安全效能.

  /fixdeleg

  用控制嚮導的委託,檢測或維護所有將要使用物件的授權.

  /geteffective:{user | group}

  以可讀取的格式,列印輸出指定使用者或指定(工作)組關於許可許可權方面的資訊.

  /schema

  檢查包括預設規劃內的物件是否安全.

  /skip

  不顯示(跳過)安全描述符..

  /tdo

  當需要將相關的資料進行儲存時,以系統規定的表格格式或其它"可讀取"的格式將資訊資料寫進檔案中去.在windows2000或windowsNT中,為了統一標準和便於處理,微軟公司專門規定有一套各種資訊資料的填寫樣式,即所謂"電子表格"(不是我們通常說的Exce).

  像驗證其它工具一樣,我在命令列視窗中實際執行了一下acldiag/?,得到程式提示的幫助資訊,兩下對比發現,幫助文件文件中介紹的內容和提示資訊內容還是一致的.至於每個專案的結果,限於時間和條件,沒有進行更為深入細緻的研究.倒是幫助文件中介紹了一個實際診斷的例子:這個例子是診斷microsoft.com 域中,顯示所有預設規劃內的訪問許可權,其命令和引數如下:

  C:>acldiag "DC=microsoft,DC=com" /schema

  三、診斷輸出資訊釋義

  要確定系統的問題,不但要進行診斷,還要能看懂診斷工具所輸出的資訊含義.對這個工具來說,診斷資訊中關鍵的部分如下:

  仍以上面介紹的診斷為範本.先執行:

  acldiag "DC=microsoft,DC=com"

  執行之後,得到的螢幕輸出不僅是英文,而且很長,所以不便附在這裡.我仔細閱讀後,覺得主要專案有以下幾個方面:

  1.列出是對哪個系統進行的診斷.相當於醫生在病歷單上所填寫的患者姓名.

  2.物件的描述:擁有者: {使用者 |組} 

  3.許可許可權:分四種:拒絕、允許、使用者、組(團體),只能是其中之一

  4.許可許可權的繼承關係:物件的許可許可權允許從其父輩繼承過來,或者說當前物件的許可權也允許其子物件繼承,所繼承的許可權也在上述四種之內.

  5.許可權稽核:這也就是我們上面提到的部分了.許可許可權的稽核的結果只有兩種:成功和失敗.對許可許可權的稽核也包括所繼承部分.

  6.預設規劃:如果仍以上面的診斷為範本,則預設規劃的診斷命令是: acldiag "DC=microsoft,DC=com" /schema

  結果分為三種:現有部分、不存在、區域性.

  7.授權模板:命令形式是:acldiag "DC=microsoft,DC=com" /chkdeleg

  其輸出如下:

  狀態: {OK | NOT PRESENT/MISCONFIGURED}

  物件是否使用: {YES | NO}

  是否繼承 : {YES | NO}

  豎線兩側的狀態只能選其中之一.

  8.有效許可權:命令列形式是:

  acldiag "DC=microsoft,DC=com" /geteffective:{User | Group}

  輸出結果如下:

    {User | Group} 1:

  

  對桌上型電腦配置更詳盡的控制

  組策略是Windows 2000中新增加的我最喜歡的功能,它給了我Windows NT從來沒有提供過的功能━━對使用者計算機集中而詳盡的控制,我們可以把組策略看作是NT 4.0中系統策略的改進。組策略物件(GPO)是基於活動目錄(AD)的物件,使用者可以透過它集中地對Win2K桌上型電腦和伺服器系統進行配置,它的功能包括從NT 4.0桌上型電腦的鎖定到安全性配置和軟體安裝等。

  篇文章主要講述組策略是如何對系統起作用的、系統內部的工作原理以及在Win2K環境中採用這一技術時應該注意的問題,如果瞭解NT 4.0中系統策略的原理對我們理解組策略有一定的幫助。

  組策略是什麼?

  GPO是一種與域、地址或組織單元相聯絡的物理策略。在NT 4.0系統中,一個單一的系統策略檔案(例如ntconfig.pol)包括所有的可以執行的策略功能,但它依賴於使用者計算機中的系統登錄檔的設定。在Win2K中,GPO包括檔案和AD物件。透過組策略,可以指定基於登錄檔的設定、使用NT 4.0格式.adm模板檔案的執行Win2K的本地計算機、域的安全設定和使用Windows安裝程式的網路軟體安裝,這樣在安裝軟體時就可以對資料夾進行重定向。

  微軟管理控制檯(MMC)中的組策略編輯器(GPE)外掛與NT 4.0中的系統策略編輯器poledit.exe相當。在GPE中的每個功能節點(例如軟體設定、Windows 設定、管理模組等)都是MMC外掛擴充套件,在MMC外掛中擴充套件是可選的管理工具,如果你是應用程式開發者,可以透過定製的擴充套件擴充GPO的功能,從而針對你的應用程式提供附加的策略控制。

  只有執行Win2K的系統可以執行組策略,執行NT 4.0和Windows 9x的客戶機則無法識別到或執行具有AD架構的GPO。

  組策略和AD

  要充分發揮GPO的功能,需要有AD域架構的支援,利用AD可以定義一個集中的策略,所有的Win2K伺服器和工作站都可以採用它。然而,每臺執行Win2K的計算機都有一個本地GPO(駐留在本地計算機檔案系統上的GPO),透過本地GPO,可以為每臺工作站指定一個策略,它在AD域中不起作用。例如,出於安全原因,你不會在AD域中配置公用的計算機。利用本地GPO,可以透過修改本地策略來得到安全性和對桌上型電腦的限制使用而無需利用基於AD域的GPO。訪問本地GPO的方法有2種,第1種方法,在需要修改GPO的計算機的“開始”選單上選擇“執行”,然後鍵入:

  gpedit.msc

  這個操作的作用與NT 4.0中的poledit.exe相同,可以開啟本地策略檔案。第2種方法,可以透過在MMC控制檯中選擇GPE外掛,並選擇本地或遠端計算機來人工地編輯本地GPO。

  本地GPO支援除軟體安裝和資料夾重定向之外的所有預設擴充套件,因此,只利用本地GPO你不能完成這些工作,如果想充分發揮GPO的功能,還是需要AD的支援。

  GPO的多樣性和繼承

  在AD中,可以在域、組織單位(OU)或地址三個不同的層次上定義GPO。OU是AD中的一個容器,可以指派它對使用者、組、計算機等物件進行管理,地址是網路上子網的集合,地址形成了AD的複製分界線。GPO的名字空間被劃分為計算機配置和使用者配置兩個大類,只有使用者和計算機可以使用GPO,象印表機物件甚至使用者組都不能應用GPO。

  在一個域或組織單位(OU)中編輯策略的途徑有幾種。在活動目錄使用者或計算機MMC外掛中,右擊一個域或組織單位(OU),在選單中選擇“屬性”,然後選擇“組策略”標籤。在編輯地址中的策略時,需要右擊“活動目錄地址和服務”外掛,然後右擊需要的地址得到其GPO。此外,還可以從“開始”選單,選擇“執行”,然後鍵入:

  mmc.exe

  啟動MMC,選擇“控制檯”,“增加/刪除”外掛,然後選擇“組策略”外掛、“瀏覽”,在AD域內的GPO就會顯示出來,可以選擇一個GPO進行編輯。

  根據GPO在AD名字空間中的不同位置,可以有幾個GPO對使用者物件或計算機物件起作用。只有域中的其他物件是透過繼承生成時GPO才是透過繼承生成的。Win2K透過下面的方式執行GPO,首先,作業系統執行現有的本地系統上的策略,然後,Win2K執行定義的地址級的GPO、域一級的GPO和基於OU的GPO,微軟把這一優先順序取其首個字母縮寫為LSDOU(執行的順序依次是本地、地址、域、OU層次的GPO),使用者可以在這個鏈上的許多層次上定義GPO。我們以pilot域為例說明如何察看一個系統中的GPO,啟動“活動目錄使用者和計算機MMC”工具,右擊pilot域名,從選單中選擇“屬性”項,然後選擇組策略標籤。在這個列表頂端的GPO(例如域範圍的安全策略)有最高的優先權,因此,Win2K最後才會執行它。除了本地系統外,可以在每個層次上定義幾個GPO,因此如果不能嚴格地管理GPO,就會出現不必要的問題。

  GPO的繼承模型與Novell公司的Zenworks策略方式截然不同。在Zenworks中,如果在Novell目錄服務(NDS)樹上的不同點使用多個策略包,只有距離使用者物件最近的策略包才起作用。在Win2K中,如果在AD的不同層次上定義四個GPO,作業系統使用“LSDOU”優先順序來執行這些策略,對計算機或使用者的作用是這四個策略執行的“和”。此外,有時在一個GPO中的設定會被其他GPO中的設定抵銷。透過AD級GPO,使用者可以擁有更多的策略控制委託,例如,公司的安全部門負責在域一級上設計用於所有系統裝置的安全GPO。透過使用GPO,可以讓某個OU的系統管理員擁有在OU上安裝軟體的權利。在Zenworks模型中,必須在希望使用策略的所有層次上覆制這些策略,而且策略對使用者或計算機物件的作用並非是所有策略的“和”。

  為了進一步地控制GPO,微軟提供了三種設定來限制GPO繼承的複雜性。在地址、域、OU三個層次上使用者都可以透過選擇一個檢查框阻止從更高一個層次上進行繼承,同樣,在每一個層次上,使用者可以選擇預設的域策略選項,方法是開啟“活動目錄使用者和計算機”外掛,右擊GPO所在的域或OU,從選單中選擇“屬性”,然後選擇“組策略”標籤。讓你希望修改的專案變亮,然後選擇“選項”按鈕,可供選擇的選項有“不覆蓋”或“禁止”。如果選擇了“不覆蓋”選項,即使選擇了不能繼承的檢查框,該GPO還是會起作用。如果想在任何一個地方執行一個GPO時,這一功能就很有用處。如果一個OU的管理員試圖阻止對安全策略的繼承,包含安全策略的GPO仍然會被系統執行。“禁止”檢查框可以完全禁止一個GPO執行,這一功能在你對一個GPO進行編輯而不想讓其他的使用者執行它時特別有效。

  GPO的執行和過濾

  只有使用者和計算機物件才能執行組策略。在計算機的啟動和關閉時,Win2K執行在GPO的計算機配置部分定義的策略,在使用者登入和登出時,Win2K執行在GPO中使用者配置部分定義的策略。事實上,在使用者登入時可以透過手動方式執行一些的策略,例如可以在命令列方式下執行secedit.exe程式執行安全策略應用程式。此外,透過管理員模組策略可以定期地對使用者和計算機的GPO設定進行重新整理,預設情況下,這種重新整理每90分鐘進行一次,這種重新整理可以使其他使用者不容易修改透過組策略定義的策略。但是,軟體安裝策略是不會重新整理的,因為沒有人希望週期性地改變策略引起軟體的“?載”,尤其是有其他使用者在使用時,就更是這樣了。計算機、使用者物件只有在計算機啟動或使用者登入時才會軟體安裝策略。

  儘管只有AD中的計算機和使用者物件才能執行GPO,但我們可以過濾GPO的效果。使用Win2K中的安全組、應用組策略━━這是Win2K中的一項新的安全特性,可以使特定的使用者組不能執行某一個GPO。右擊MMC中GPO的名字,選擇“屬性”,然後再選擇“安全”,就可以看到GPO目前的安全設定。認證使用者組具有應用組策略權利,從而附屬這一GPO的所有使用者可以執行它。在Win2K中,安全組可以包括使用者和計算機物件。因此,利用安全組可以仔細地調整使用者、計算機物件如何執行一個GPO。你還可以對個別的應用程式應用安全組,可以指派一個GPO的軟體安裝部分。例如,假設你在一個GPO中釋出10個應用程式,可以指定只讓金融使用者使用者組訪問其中的5個,其他使用者登入到這個域時,它們也不會發現這5個應用程式。

  GPO的內部構成

  一個GPO是由兩部分組成的:組策略容器(GPC)和組策略模板(GPT)。GPC是GPO在AD中的一個例項,在一個特殊的被稱作系統的容器內有一個128位的全球唯一的ID碼(GUID)。在“活動使用者目錄使用者和計算機”外掛中選擇“瀏覽”,從MMC選單中選擇“高階屬性”,就可以看到“系統”容器。GPT是組策略在Win2K檔案系統中的表現,與一個GPO有關的所有檔案依賴於GPT。

  GPO帶來的難題

  雖然GPO的功能很強大,但要掌握它可不容易。最難掌握的是如何判斷一條有效的策略如何對域中的計算機或使用者起作用,由於GPO可以存在於AD鏈中不同的層次上,這種判斷就特別困難。同時,由於可以指派一個GPO的控制,因此不大容易清楚其他的GPO是否會對你沒有控制權的容器中的GPO有影響。因此,計算一個計算機或使用者物件接收的“策略的結果集”(RSoP)是相當困難的。儘管微軟還沒有提供計算RSoP的工具,但已經有第三方廠商提供了相應的計算RSoP的工具。

  另一個難題是策略的執行。如果在AD鏈上的許多層次上都存在有GPO,在使用者每次登入或系統啟動時都會執行所有的GPO。在Win2K系統中,微軟推出了一些新的功能來最佳化系統的效能。首先,GPO的版本資訊依賴於工作站和GPO,如果GPO沒有變化,系統就不會執行它。另外,在GPE的屬性頁上,可以禁止使用者或計算機對GPO的執行。如果建立一個GPO用來分發關閉系統或啟動系統時的指令碼,禁用GPO的使用者配置部分,這樣會使工作站不能解析GPO並判斷它是否已經發生了什麼變化。

  最後的一個難題起源於GPC和GPT是兩個單獨的實體。GPC是AD中的一個物件,它與GPT中包含的檔案的複製不同步,這意味著建立一個GPO時,在GPT開始向域控制器上的Sysvol複製檔案之前GPC可能已經開始進行復制了。

  所有問題的起源都是由於AD使用了一種多主體的複製模式。理論上,當另一個系統管理員在一個域控制器上編輯一個GPO時,你也可以在某個域上對它進行編輯。因此,當建立一個GPE時,預設狀態下指的是在“操作主體”中充當PDC的域控制器。(“操作主體”是AD基礎結構中的一系列託管功能,用作PDC的伺服器可以相容執行NT和Win9x的工作站。)一般情況下,可以透過只向少數的系統管理員授予編輯GPO的權利來避免這種情況的發生,並保證如果有人在編輯GPO時,讓其他的人都知道。此外,需要注意的是,在對一個GPO進行編輯時,要“禁止”它,修改結束後重新使能。

  GPO的優缺點

  GPO的優點是可以讓使用者靈活地控制Win2K環境,但伴隨著靈活性而來的是複雜性。如果能夠正確、靈活地運用GPO,就能使Win2K發揮出更加強大的功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-948494/,如需轉載,請註明出處,否則將追究法律責任。

相關文章