[Vista] 使用iCACLs.exe快速變更檔案的存取權限

於使用檔案總管變更記事本的安全性步驟繁複,因而查詢到了一篇Replacing notepad.exe in Vista 使用takeown.exeicacls.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:Windowshh.exe來實驗如何用指令變更存取權限設定。

我們由檔案總管右鍵功能表開啟hh.exe的內容視窗→安全性頁籤→〔進階〕檢視hh.exe的使用權限,再以指令 icacls  hh.exe 檢視其輸出,二者做個比對就能比較了解iCACLs顯示的縮寫含義了。

Vista Security
C:Windows>icacls hh.exe
hh.exe NT SERVICETrustedInstaller:(F)

BUILTINAdministrators:(RX)

NT AUTHORITYSYSTEM:(RX)

BUILTINUsers:(RX)


已順利處理 1 個檔案; 0 個檔案處理失敗

由對照可知:

  • (F)是完全控制(Full Control)
  • (RX)是讀取與執行(Read and Execute)

內建檔案只有TrustedInstaller具有完全控制的權限,透過iCACLs的 /grant 使用者:(F)參數可以把完全控制權限授權給指定的使用者,首先用TakeOwn命令把hh.exe的擁有者變成登入的使用者,再變更存取權限:

C:Windows>takeown /F hh.exe成功: 檔案 (或資料夾): "C:Windowshh.exe" 目前已經由使用者 "JERRYTPjerry" 擁有。

C:Windows>icacls hh.exe /grant jerry:(F)

已處理的檔案: hh.exe

已順利處理 1 個檔案; 0 個檔案處理失敗

C:Windows>icacls hh.exe

hh.exe JERRYTPjerry:(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了。

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *