2008年04月12日
[Vista] 使用iCACLs.exe快速變更檔案的存取權限
由於使用檔案總管變更記事本的安全性步驟繁複,因而查詢到了一篇Replacing notepad.exe in Vista 使用takeown.exe與icacls.exe直 接使用DOS命令變更內建檔案的使用權限設定。TakeOwn很好理解,就是取得所有權,但iCACLs就較困難些了。iCACLs在以前的 Windows版本裡相對應的指令名稱是CACLs:Change Access Control Lists 的縮寫(開頭的C也有寫成Control的);而在Windows Server 2003 SP2與Windows Vista裡又出現加強版(Improved) 的CACLs,即 ICACLs.exe。以下我們就使用iCACLs.exe和C:\Windows\hh.exe來實驗如何用指令變更存取權限設定。
我們由檔案總管右鍵功能表開啟hh.exe的內容視窗→安全性頁籤→〔進階〕檢視hh.exe的使用權限,再以指令 icacls hh.exe 檢 視其輸出,二者做個比對就能比較了解iCACLs顯示的縮寫含義了。
由對照可知:
由上面的紅色字體可以看到使用者jerry針對hh.exe已具有完全控制的權限了,往後不管是對 hh.exe 做改名、覆蓋或刪除操作才能成功。
iCACLs.exe命令頗為複雜,有時間再來仔細研究清楚。
另外,由於Google到的資料以英文居多,想讓DOS視窗的字碼頁由950(Traditional Chinese Big5)變成437(United States)應如何操作呢?
只要用debug.exe就 可以了。當debug.exe的減號提示符號出現後按 q 和 Enter回到DOS後,其編碼就變成437了。
##
我們由檔案總管右鍵功能表開啟hh.exe的內容視窗→安全性頁籤→〔進階〕檢視hh.exe的使用權限,再以指令 icacls hh.exe 檢 視其輸出,二者做個比對就能比較了解iCACLs顯示的縮寫含義了。
![]() |
| C:\Windows>icacls hh.exe hh.exe NT SERVICE\TrustedInstaller:(F) BUILTIN\Administrators:(RX) NT AUTHORITY\SYSTEM:(RX) BUILTIN\Users:(RX) 已 順利處理 1 個檔案; 0 個檔案處理失敗 |
由對照可知:
- (F)是完全控制(Full Control)
- (RX)是讀取與執行(Read and Execute)
| C:\Windows>takeown /F hh.exe 成功: 檔案 (或資料夾): "C:\Windows\hh.exe" 目前已經由使用者 "JERRYTP\jerry" 擁有。 C:\Windows>icacls hh.exe /grant jerry:(F) 已處理的檔案: hh.exe 已順利處理 1 個檔案; 0 個檔案處理失敗 C:\Windows>icacls hh.exe hh.exe JERRYTP\jerry:(F) NT SERVICE\TrustedInstaller:(F) BUILTIN\Administrators:(RX) NT AUTHORITY\SYSTEM:(RX) BUILTIN\Users:(RX) 已順利處理 1 個檔案; 0 個檔案處理失敗 |
由上面的紅色字體可以看到使用者jerry針對hh.exe已具有完全控制的權限了,往後不管是對 hh.exe 做改名、覆蓋或刪除操作才能成功。
iCACLs.exe命令頗為複雜,有時間再來仔細研究清楚。
另外,由於Google到的資料以英文居多,想讓DOS視窗的字碼頁由950(Traditional Chinese Big5)變成437(United States)應如何操作呢?
只要用debug.exe就 可以了。當debug.exe的減號提示符號出現後按 q 和 Enter回到DOS後,其編碼就變成437了。
##

