![設定權限](https://rvso.com/image/1452244/%E8%A8%AD%E5%AE%9A%E6%AC%8A%E9%99%90.png)
在 Windows 7 或更高版本中,是否有辦法拒絕程式在登錄中任意位置寫入的權限?
請具體說明您的答案適用於哪個版本的 Windows。
答案1
在 Windows Vista 及更高版本中,您可以透過設定完整性等級將相關程序設定為“低”或“不受信任”。
執行此操作的一種方法是使用icacls.exe
公用事業設定程式的完整性等級。例如,假設您要將 notepad.exe 設定為低完整性。在提升的命令提示字元下,鍵入:
icacls notepad.exe /setintegritylevel low
這可以防止記事本影響具有中或高完整性等級的系統級對象,例如係統檔案、各種登錄配置單元等。
根據所討論的程序,這可能是一個非常好的或一個非常餿主意。
完整性等級可能是一件難以理解的事情。請您花時間仔細審核文件,學習如何發現目前的完整性級別,並了解您嘗試的更改的全部影響。
是非常這樣做時要小心,因為很容易把事情搞砸,尤其是當你不完全確定自己在做什麼時。做一個備份,在副本上進行實驗,不要在家裡嘗試這個,秘書將否認所有知識,等等。
答案2
不是直接的,但可以創造可行的情況。
您可以在註冊表中為使用者帳戶設定安全性設置,但不能為程式設定安全設定。
您也可以以其他使用者身分啟動程式。因此,理論上您可以建立一個無法修改的使用者帳戶,然後專門將該使用者設定為無權修改該特定註冊表項,但授予其讀取該註冊表項的權限,並可選擇寫入其他註冊表項。
注意: 限制對註冊表的存取可能會導致奇怪的錯誤,因為程式通常不會檢查它們想要寫入的註冊表部分是否實際上可以讀取,特別是如果您在 HKEY_Current User 部分中設定了權限。
設定權限
開啟註冊表並導航到要變更權限的項目。右鍵單擊該金鑰(資料夾事物)並選擇權限...
從這裡您可以授予權利。注意完全控制 = 執行所有操作,包括:查詢值、設定值、建立子項目、枚舉子項目、通知、建立連結、刪除、寫入 dac、寫入擁有者和讀取控制。
特殊權限允許您設定個人權限。為此,請按下Advanced按鈕。