這是我看過最清楚的文章,登錄過程寫得很是詳細.算法
用處:
公司的筆記本加入域後,外出怎麼樣辦,用緩存登錄呀.
有人發現公司的電腦,在DC壞掉後,還能夠登錄,很是奇怪,那就是緩存登錄的緣由,你能夠在域控制器裏設置是否容許緩存登錄及緩存的個數(只用登錄過才能緩存喲)
默認是關閉的
您能夠在「域安全策略」-〉「安全設置」-〉「本地策略」-〉「安全選項」-〉在右邊找到「交互式登陸:可被緩存的前次登陸個數(在域控制器不可用的狀況下)」後雙擊,設置爲X便可(X表明你緩存的數量)
這些緩存存放的位置,它們是存放在註冊表中的,具體路徑以下:
HKEY_LOCAL_MACHINE/Security/Cache,可是這個鍵值連管理員默認都沒有權限查看,因此請您在Security上右擊一下,點權限,而後給管理員「讀」權限。以後您就可以在下面看見N1$,N2$,N3$,N4$,N5$,N6$,N7$,N8$,N9$,N10$這些鍵值,這就是10個緩存的憑證,您能夠手動刪除它們。
下面是轉的文章,也不知道是誰寫的.
在AD的平常管理中,有兩個概念容易弄錯,這裏提一下:
一)關於域控制器不可用時,使用本地緩存登錄的問題。
在 "本地計算機"策略--計算機配置--Windows 設置--安全設置---本地策略--安全選項中,存在以下設置項:
Interactive logon: Number of previous logons to cache (in case domain controller is not available) : 10 logons
這裏所指的10次,是10個用戶登錄。而不是一個用戶登錄的最大有效次數,一個用戶可登錄的次數理論上是無限的。若是要禁止此項設定,您能夠把這個值設爲0。
這些信息存在 HKEY_LOCAL_MACHINE/SECURITY/Cache 裏。其下設定10個子鍵,名稱從 NL$1-NL$10,每當一個賬戶登錄此計算機,其Profile被建立在 %HOMEDRIVE%/Documents and Settings 下,相應的賬戶信息和安全性描述被緩存下來,並在此鍵值中做出記錄。該鍵值中記錄已經登錄賬戶的名稱及其相關標識。
(注:默認狀況下,管理員組對於 HKEY_LOCAL_MACHINE/SECURITY 子鍵沒有讀寫權限,您能夠執行 regedt32.exe <windows 2000> 或者 regedit.exe <windowsXP> 添加對於該子鍵的讀權限。關於註冊表的描述和操做,請參考
Microsoft Windows 註冊表說明 )
值得注意的是,這裏所說的 10 個用戶賬戶,是指已經在本地登錄過的,也就是已經 cache 到本地了的賬戶,而不是任意的賬戶。若是沒有登錄過賬戶,因爲在登錄的時候,須要查詢域控制器,那麼在交互式登錄下,系統馬上會提示當前域不可用。在加入域的計算機中,此策略的有效設定,最終取決於域策略的設定。
二)關於域賬戶將計算機加入域的問題
經過編輯default domain policy,計算機安全設定中,關於用戶權利指派的策略項目中,咱們能夠指定什麼用戶能夠在網域中添加工做站。默認狀態下,在域控制器上通過身份驗證的用戶,有權限將計算機添加到域,這個動做可使得該驗證賬戶域中最多可建立 10 個計算機賬戶。
此動做在域中添加計算機賬戶,容許計算機加入基於 Active Directory 的網絡。例如,在域中添加工做站後,該工做站可以識別 Active Directory 中已有的賬戶和組。
這個10次的設置是能夠更改的。以域管理員身份執行 adsiedit.msc (此工具存在於windows安裝光盤 Support/Tools 下的 support tools 中),展開 Domain NC 節點。選擇 "DC=" 的對象,右鍵點擊選擇屬性。在其屬性下拉列表中選擇 ms-DS-MachineAccountQuota 進行編輯,此設置項的數值決定了域驗證賬戶有權限加入計算機的數目。相關信息請參考:
251335 Domain Users Cannot Join Workstation or Server to a Domain
但對於在 Active Directory Computers容器上有「建立計算機對象」權限的用戶,則不受此建立 10 個計算機賬戶的限制。在受權OU管理員管理計算機賬戶的時候,咱們就能夠這樣做,一方面在OU下做出委派的受權動做,同時能夠在Computers容器上添加該賬戶建立計算機對象的權限,這樣此賬戶即可以自行添加計算機了 。
另外,經過「域中添加工做站」的方式建立的計算機賬戶將「域管理員」看做該計算機賬戶全部者,而經過計算機容器權限方式建立的計算機賬戶則將建立者看做計算機賬戶的全部者。若是用戶既有容器的權限,又有「將工做站添加到域」的用戶權利,則將基於計算機容器權限而非用戶權利添加計算機。
登陸到本機的過程 一、用戶首先按Ctrl+Alt+Del組合鍵。 二、winlogon檢測到用戶按下SAS鍵,就調用GINA,由GINA顯示登陸對話框,以便用戶輸入賬號和密碼。 三、用戶輸入賬號和密碼,肯定後,GINA把信息發送給LSA進行驗證。 四、在用戶登陸到本機的狀況下,LSA會調用msv1_0.dll這個驗證程序包,將用戶信息處理後生成密鑰,同SAM數據庫中存儲的密鑰進行對比。 五、若是對比後發現用戶有效,SAM會將用戶的SID(Security Identifier——安全標識),用戶所屬用戶組的SID,和其餘一些相關信息發送給LSA。 六、LSA將收到的SID信息建立安全訪問令牌,而後將令牌的句柄和登陸信息發送給winlogon.exe。 七、winlogon.exe對用戶登陸稍做處理後,完成了整個登陸過程。 登陸到域的過程 登陸到域的驗證過程,對於不一樣的驗證協議也有不一樣的驗證方法。若是域控制器是Windows NT 4.0,那麼使用的是NTLM驗證協議,其驗證過程和前面的「登陸到本機的過程」差很少,區別就在於驗證賬號的工做不是在本地SAM數據庫中進行,而是在域控制器中進行;而對於Windows2000和Windows2003域控制器來講,使用的通常爲更安全可*的Kerberos v5協議。經過這種協議登陸到域,要向域控制器證實本身的域賬號有效,用戶需先申請容許請求該域的TGS(Ticket-Granting Service——票據授予服務)。獲准以後,用戶就會爲所要登陸的計算機申請一個會話票據,最後還需申請容許進入那臺計算機的本地系統服務。 其過程以下: 一、用戶首先按Ctrl+Alt+Del組合鍵。 二、winlogon檢測到用戶按下SAS鍵,就調用GINA,由GINA顯示登陸對話框,以便用戶輸入賬號和密碼。 三、用戶選擇所要登陸的域和填寫賬號與密碼,肯定後,GINA將用戶輸入的信息發送給LSA進行驗證。 四、在用戶登陸到本機的狀況下,LSA將請求發送給Kerberos驗證程序包。經過散列算法,根據用戶信息生成一個密鑰,並將密鑰存儲在證書緩存區中。 五、Kerberos驗證程序向KDC(Key Distribution Center——密鑰分配中心)發送一個包含用戶身份信息和驗證預處理數據的驗證服務請求,其中包含用戶證書和散列算法加密時間的標記。 關於本地緩存登錄 和 域用戶將計算機加入域的問題及登陸過程- - 六、KDC接收到數據後,利用本身的密鑰對請求中的時間標記進行解密,經過解密的時間標記是否正確,就能夠判斷用戶是否有效。 七、若是用戶有效,KDC將向用戶發送一個TGT(Ticket-Granting Ticket——票據授予票據)。該TGT(AS_REP)將用戶的密鑰進行解密,其中包含會話密鑰、該會話密鑰指向的用戶名稱、該票據的最大生命期以及其餘一些可能須要的數據和設置等。用戶所申請的票據在KDC的密鑰中被加密,並附着在AS_REP中。在TGT的受權數據部分包含用戶賬號的SID以及該用戶所屬的全局組和通用組的SID。注意,返回到LSA的SID包含用戶的訪問令牌。票據的最大生命期是由域策略決定的。若是票據在活動的會話中超過時限,用戶就必須申請新的票據。 八、當用戶試圖訪問資源時,客戶系統使用TGT從域控制器上的Kerberos TGS請求服務票據(TGS_REQ)。而後TGS將服務票據(TGS_REP)發送給客戶。該服務票據是使用服務器的密鑰進行加密的。同時,SID被Kerberos服務從TGT複製到全部的Kerberos服務包含的子序列服務票據中。 九、客戶將票據直接提交到須要訪問的網絡服務上,經過服務票據就能證實用戶的標識和針對該服務的權限,以及服務對應用戶的標識。