還原已刪除的Active Directory對象之不完全攻略(上)

  無論是在51cto技術論壇還是在微軟中文技術論壇,經常會看到的一個問題就是有一些系統工程師或者網管員不小心在域控制器上誤刪除了某某員工的域帳號,或者是一個用戶組,更有甚者是一個OU.這個時候他們會很着急,因爲直接影響到了用戶的正常工作,比如無法再登錄域了啊,無法訪問文件服務器上的某個共享文件夾了啊,或者無法通過ISA代理服務器上網了啊等等等等,凡是涉及到身份驗證和控制的地方都有可能出現問題.那麼如何快速而有效地能對這些誤刪除的活動目錄中的object(對象)進行恢復呢?本篇博文就爲大家從簡入深地介紹若干種還原它們的方法.

  在介紹如何還原已刪除的AD對象之前,如果有看官朋友們是才接觸活動目錄和Windows域這一塊的話,應該會說,我在域控制器上面按照被刪掉的帳號名稱再重新建立一個帳號不就好了嗎?爲什麼還要費力氣非得去還原呢?那我們就簡單回顧一下爲什麼不能單純依靠重建對象來解決問題.

  在Windows操作系統中(不管是如XP的Client級操作系統還是像Server 2003級的Server級操作系統),都存在一個叫"安全主體"的概念.什麼是"安全主體"(Security Principals)呢?安全主體就是能夠被授予權限去訪問網絡中的資源的對象.我們在域控制器打開"Active Directory用戶和計算機"控制檯看到的用戶,組,計算機,都是安全主體.(工作組環境下的用戶,組等也存在此概念,本篇我們主要討論域環境下,所以工作組情況略過).並且每一個安全主體都會分配到一個唯一的"安全標示符"(Security Identifier).這個安全標示符(後面統一簡稱SID)就是我們在系統上和網絡中配置對某某資源訪問的最重要的組成成分.別看當我們要在一個共享文件夾上授予某個用戶或者用戶組訪問權限的時候輸入的是他的帳號顯示名稱,但在計算機系統看來,它只認這個賬號對應的SID.所以就算你後面對這個用戶帳號進行了重新命名,計算機系統眼裏他還是他,他擁有的權限還是和改名前一樣,不會發生變化.這很像現實中我們的身份證,不管我們後面是不是去公安局改了自己名字,我們的身份證號碼始終還是那個全國唯一的不變的號碼.也正如公民的身份證或者公司的工作證對於公民或者員工的意義一樣,SID是否存在於某個資源的訪問控制表項中也就成爲了是否允許對應此SID的用戶能否訪問或者使用這個資源的基礎條件.

  說了這麼多有關SID的概念,讓我們來看看系統中SID到底是個什麼樣的東西吧.

  有幾個常用命令行工具可以幫助我們查看到用戶/用戶組的SID: whoami,psgetsid.

  這裏我就用whoami命令行工具來演示.(另一個工具psgetsid是屬於大名鼎鼎的Sysinternals工具集中的一個命令行工具,相對於whoami它的功能和參數要更多一些,有興趣的朋友可以到: http://live.sysinternals.com/下載).Whoami默認已經內置在Windows Server2003及以上的服務器操作系統中.如果客戶端是xp系統要用它的話,請找一臺Windows Server 2003或者以上的操作系統,然後在它的%systemroot%\system32目錄中將whoami.exe拷貝過來使用.

  在命令提示符中輸入whoami /user可以看到當前登錄用戶(帳戶名:lion,所屬羣組:MIS,所在OU:資訊部)的SID信息,

clip_image002

  使用/groups參數可以看到當前用戶所屬組的SID信息,

clip_image004

  可以看到contoso域內的lion此用戶帳號的SID爲: S-1-5-21-2438905098-247976533-3193303672-1127.它有什麼含義呢?這裏大概介紹一下.

  SID是由三個部分構成的:修訂號等級(Revision Level),標示符機構(Identifier Authority),次級機構/相對標示符(Subauthority/Relative Identifier).

  SID遵循以下語法:S-R-I-S-S

  以域用戶lion的SID爲例,字母"S"打頭表示這是一段關於SID的信息.後面緊跟的"1"則是表明現在的修訂號等級是1,然後"5"和"2"1是表示標示符機構和次級機構.(事實上Windows操作系統中新創建的安全主體的SID都是以S-1-5-21開始的).而後的"2438905098"表示採自於域的次級機構(如果是工作組環境則是採自於本地計算機),再往後的"247976533-3193303672-1127"這三截數字則表示相對標示符了.相對標示符是由域中擔任五種操作主機角色之一的RID角色的域控制器來控制和分配的.(如果你還不清楚什麼是FSMO,什麼又是RID,請參考yuelei老師的博文:http://yuelei.blog.51cto.com/202879/127848).RID也保證了在域內新建的每個安全主體會分配到獨一無二的SID.

Lion's SID:

clip_image006

  誠如以上所介紹的,正是因爲存在SID這麼一個概念,我們在域內重建賬號分配到的SID/RID肯定和之前被刪除掉的安全主體的SID/RID不一樣.這樣就會造成身份驗證發生狀況導致一系列的問題.

  所以單純依靠重建用戶,用戶組,計算機帳號等等是無法讓已刪除的這些對象獲得真正重生的.我們必需依靠"還原"操作來拯救它們.

  How to? 我們在中篇正式開始介紹.

                                                                                                                                                                                                                                 ...To be continued

===================================================================================

Notes:本文部分參考<Windows Server 2008 Active Directory ResourceKit>一書

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章