解決拒絕本地登入

2021-06-28 16:20:31 字數 2900 閱讀 2446

在windows 2000環境下,被組策略拒絕本地登入一直是件比較令人頭疼的事情。本文將介紹一種所有使用者都被拒絕本地登入後的解決方法。

在windows2000中,如果某個使用者被取消了本地登入許可權,當這個使用者本地登入計算機時,系統就會提示「此系統的本地策略不允許您採用互動式登入」,導致登入失敗。遇到這種情況,通常請管理員在組策略中重新設定一下,將該使用者從「拒絕本地登入」列表中刪除或新增到「在本地登入」列表中即可。但如果因為操作失誤或其它方面的原因,我們將所有使用者的本地登入許可權都禁止了(通常是禁止了users組(非域環境下)或domainusers組(域環境下)),那就有點麻煩了。這種情形看起來像乙個解不開的「死結」:要解除禁止本地登入的組策略設定,必須以管理員身份本地登入;要以管理員身份本地登入,就必須先解除禁止本地登入的組策略設定。但實際上,事情並沒有我們想象的那麼糟。經過查詢相關資料和測試,我發現借助網路的幫助,這個「死結」還是可以解開的。因為域安全策略與本地安全策略的資料儲存機制不同,下面分兩種情況分別進行說明。

被域策略拒絕本地登入時的解決辦法

域策略的安全設定部分都儲存在乙個名為「gpttmpl.inf」的安全模板中,這是乙個文字檔案,存放在dc(域控制器)的sysvol(物理目錄指向dc的「c:\winnt\sysvol\sysvol」)共享中。要解除對所有使用者本地登入限制,在不能本地登入的情況下,最快捷的辦法可能就是直接編輯這個文字檔案。

具體操作如下:

1..在另一台計算機(win9x/2000/xp均可)上,使用域管理員賬號連線到dc的sysvol共享,在「\\\sysvol\\policies\guid>\machine\microsoft\windowsnt\secedit」下找到該文字檔案「gpttmpl.inf」。(路徑中的「dc name」是你放置該組策略的域控制器的名字,「domainname」是你的域的名字,「policyguid」是你要編輯的組策略的guid,類似於「」)。

2..使用記事本開啟「gpttmpl.inf」檔案,找到檔案中「privilegerights」小節下的「sedenyinteractivelogonright」關鍵字,它的值就是被拒絕本地登入的使用者或組的sid,將這些sid刪除,使「sedenyinteractivelogonright」關鍵字的值為空。修改完畢將檔案儲存回原位置。

3..使用記事本開啟位於「\\\sysvol\name>\policies\」下的「gpt.ini」檔案,提高「general」小節下的「version」關鍵字的值,通常是加1000。這是我們修改的這個組策略的版本號,版本號提高後可以保證我們的更改被複製到其它dc上。修改完畢將檔案儲存回原位置。

4.. 域策略重新整理後,問題即告解決。

5.. 本地登入dc重新設定域策略中的相關專案 。

被本地安全策略拒絕本地登入時的解決辦法

解決被本地安全策略拒絕本地登入的最正統的方法,應該是使用另一台windows2000計算機,使用組策略mmc管理單元通過網路連線到故障計算機的本地安全策略,然後進行修改。但我測試後發現,使用這種方法成功的機率非常小(具體的原因也不十分的明了),不是連線不上故障計算機,就是打不開故障計算機上本地安全策略的安全設定。因此我們還需要乙個更穩妥些的解決方法。

本地安全策略的安全設定通常存放在乙個二進位制的安全資料庫secedit.sdb中,這個安全資料庫的結構我們無從知道,因此象第一部分那樣直接編輯secedit.sdb檔案的辦法是無能為力了,我們需要採用迂迴進攻的策略,「曲線救國」。

具體操作如下:

1.. 假設故障計算機的ip位址是"192.168.0.111"。在另一台計算機(windows9x/2000/xp均可)上,使用「telnet 192.168.0.111」命令使用管理員賬號連

接到故障計算機。(如果故障計算機的「telnet」服務沒有啟動,可以通過網路啟動,具體方法不在詳述)

2.. 通過telnet在故障計算機上執行「net share tmp$=d:\tmp」命令,將故障計算機上的「d:\tmp」隱藏共享為「tmp$」,共享許可權預設是everyone完全控制(此時要特別注意網路安全)。當然你也可以共享其它的目錄。

3.. 通過telnet在故障計算機上執行「secedit /export /cfg

d:\tmp\sec.inf」命令,將故障計算機的本地安全策略配置匯入「d:\tmp\sec.inf」安全模板檔案中,這是乙個文字檔案。

4.. 連線到故障計算機上的tmp$共享,用記事本開啟共享資料夾中的「sec.inf」檔案。找到檔案中「privilegerights」小節下的「sedenyinteractivelogonright」關鍵字,它的值就是被拒絕本地登入的使用者或組的sid,將這些sid刪除,使「sedenyinteractivelogonright」關鍵字的值為空或者是隨便另設定乙個無關的值。檔案修改完畢儲存回原位置。

5.. 通過telnet在故障計算機上執行「secedit /configure /db

c:\secedit.sdb /cfg d:\tmp\sec.inf」命令,使用新的安全模板和安全資料庫重新配置故障計算機的本地安全策略。

6.. 通過telnet在故障計算機上執行「secedit /refreshpolicy

machine_policy /enforce」命令,強制在故障計算機上重新整理策略設定,問題即告解決。

7. 本地登入故障計算機後,刪除我們建立的tmp$共享,重新設定本地安全策略中的相關專案。

secedit簡介

secedit.exe,windows2000自帶的自動化安全配置任務命令列工具,功能強大。我們可以用它來分析系統的安全性、配置系統安全性、重新整理安全性設定、匯出安全性設定和驗證安全配置檔案。它的具體用法請使用「secedit /?」檢視其幫助檔案。

補充說明

上面所說的兩種方法,都是以有許可權使用者(如管理員)沒有被禁止從網路登入為前提的,如果你的策略把從網路登入也禁止了,讓故障計算機成了真正的「孤家寡人」,那問題解決起來要麻煩的多,但同樣不是乙個解不開的「死結」。具體的解決辦法,我會另具文說明,在此不再細說。

drozer本地拒絕檢測模組

nullpointerexception空資料異常 應用程式沒有對getaction 等獲取到的資料進行空指標判斷,從而導致空指標異常而導致應用崩潰。例如 intent mintent this.getintent if mintent.getaction equals test 還有三個其他的異常...

遠端登入ubuntu被拒絕

過一天的努力終於在今天中午實現了遠端登入ubuntu,現在把步驟寫一些 我用的是ubuntu8.10,先配置了 etc gdm gdm.conf custom,找到下邊的資訊 security disallowtcp false xdmcp enable 1 port 177 在windows下安裝...

Linux系統登入 本地登入與遠端登入

安裝登入系統的位置可以將登入方式分為兩種 本地登入和遠端登入。本地登入可以使用圖形介面和命令列模式 也稱字元介面 兩種方式 遠端登入可以使用ssh telnent vnc sftp 4種方式。常見的遠端登入方式有ssh telnet vnc和sftp 4種。ssh ssh secure shell ...