熱點推薦:
您现在的位置: 電腦知識網 >> 電腦故障 >> 正文

解開拒絕本地登錄的“死結”

2013-11-12 00:02:54  來源: 電腦故障 

  前言
  
  在Windows 環境下被組策略拒絕本地登錄一直是件比較令人頭疼的事情本文將介紹一種所有用戶都被拒絕本地登錄後的解決方法
  
  在Windows如果某個用戶被取消了本地登錄權限當這個用戶本地登錄計算機時系統就會提示此系統的本地策略不允許您采用交互式登錄導致登錄失敗遇到這種情況通常請管理員在組策略中重新設置一下將該用戶從拒絕本地登錄列表中刪除或添加到在本地登錄列表中即可但如果因為操作失誤或其它方面的原因我們將所有用戶的本地登錄權限都禁止了(通常是禁止了users組(非域環境下)或domain users組(域環境下))那就有點麻煩了這種情形看起來像一個解不開的死結要解除禁止本地登錄的組策略設置必須以管理員身份本地登錄要以管理員身份本地登錄就必須先解除禁止本地登錄的組策略設置
  
  但實際上事情並沒有我們想象的那麼糟經過查詢相關資料和測試我發現借助網絡的幫助這個死結還是可以解開的因為域安全策略與本地安全策略的數據保存機制不同下面分兩種情況分別進行說明
  
  
  
  
  被域策略拒絕本地登錄時的解決辦法
  
  域策略的安全設置部分都保存在一個名為GptTmplinf的安全模板中這是一個文本文件存放在DC(域控制器)的SYSVOL(物理目錄指向DC的c:\winnt\sysvol\sysvol)共享中要解除對所有用戶本地登錄限制在不能本地登錄的情況下最快捷的辦法可能就是直接編輯這個文本文件
  
  具體操作如下
  
  在另一台計算機(WinX//XP均可)上使用域管理員賬號連接到DC的SYSVOL共享\\\sysvol\\Policies\\MACHINE\Microsoft\Windows NT\SecEdit下找到該文本文件GptTmplinf(路徑中的DC name是你放置該組策略的域控制器的名字Domain name是你的域的名字Policy GUID是你要編輯的組策略對象的GUID類似於{BFDDFCFB})
  使用記事本打開GptTmplinf文件找到文件中Privilege Rights小節下的 SeDenyInteractiveLogonRight關鍵字它的值就是被拒絕本地登錄的用戶或組的SID將這些SID刪除使 SeDenyInteractiveLogonRight關鍵字的值為空修改完畢將文件保存回原位置
  使用記事本打開位於\\\sysvol\\Policies\下的 GPTINI文件提高General小節下的Version關鍵字的值通常是加這是我們修改的這個組策略對象的版本號版本號提高後可以保證我們的更改被復制到其它DC上修改完畢將文件保存回原位置
  域策略刷新後問題即告解決
  本地登錄DC重新設置域策略中的相關項目
  
  
  
  被本地安全策略拒絕本地登錄時的解決辦法
  
  由於在Windows不支持對計算機本地策略的安全設置部分進行遠程管理(詳見組策略白皮書)而且本地安全策略的安全設置通常存放在一個二進制的安全數據庫seceditsdb中這個安全數據庫的結構我們無從知道因此象第一部分那樣直接編輯seceditsdb文件的辦法是無能為力了我們需要采用迂回進攻的策略曲線救國
  
  具體操作如下
  
  假設故障計算機的IP地址是在另一台計算機(WindowsX//XP均可)上使用Telnet 命令使用管理員賬號連接到故障計算機(如果故障計算機的telnet服務沒有啟動可以通過網絡使用服務MMC啟動具體方法不在詳述)
  通過telnet在故障計算機上執行net share tmp$=d:\tmp命令將故障計算機上的d:\tmp隱藏共享為tmp$共享權限缺省是everyone完全控制(此時要特別注意網絡安全)當然你也可以共享其它的目錄
  通過telnet在故障計算機上執行secedit /export /CFG d:\tmp\secinf命令將故障計算機的本地安全策略配置導入d:\tmp\secinf安全模板文件中這是一個文本文件
  連接到故障計算機上的tmp$共享用記事本打開共享文件夾中的secinf文件找到文件中Privilege Rights小節下的SeDenyInteractiveLogonRight關鍵字它的值就是被拒絕本地登錄的用戶或組的SID將這些SID刪除使SeDenyInteractiveLogonRight關鍵字的值為空或者是隨便另設置一個無關的值文件修改完畢保存回原位置
  通過telnet在故障計算機上執行secedit /configure /db c:\seceditsdb /CFG d:\tmp\secinf命令使用新的安全模板和安全數據庫重新配置故障計算機的本地安全策略
  通過telnet在故障計算機上執行secedit /refreshpolicy machine_policy /enforce命令強制在故障計算機上刷新策略設置問題即告解決
  本地登錄故障計算機後刪除我們建立的Tmp$共享重新設置本地安全策略中的相關項目
  
  
  
  secedit簡介
  
  seceditexeWindows自帶的自動化安全配置任務命令行工具功能強大我們可以用它來分析系統的安全性配置系統安全性刷新安全性設置導出安全性設置和驗證安全配置文件它的具體用法請使用secedit /?查看其幫助文件
  
  
  
  
  補充說明
  
  上面所說的兩種方法都是以有權限用戶(如管理員)沒有被禁止從網絡登錄為前提的如果你的策略把從網絡登錄也禁止了讓故障計算機成了真正的孤家寡人那問題解決起來要麻煩的多但同樣不是一個解不開的死結具體的解決辦法我會另具文說明在此不再細說
  參考資料
  
  參考資料微軟KB數據庫文章QQQ
  參考資料微軟msnews新聞組microsoftpublicwinsetupsecurity和general
  參考資料Windows中文幫助
  
  關於作者
  
  朱其勝系統工程師在山東一家網絡公司負責WinNT/系統集成網絡安全與技術支持持有MCSE證書微軟MVP

From:http://tw.wingwit.com/Article/Fault/201311/10546.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.