在指定的檔案上顯示或修改任意訪問控制清單(DACL),並將儲存的 DACL 套用至指定目錄中的檔案。
Note
此指令會取代已淘汰的 cacls 指令。
Syntax
icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]
Parameters
| Parameter | Description |
|---|---|
<name> |
指定要顯示或修改 DACL 的檔案。 |
<directory> |
指定要顯示或修改 DACL 的目錄。 |
| /t | 在目前目錄及其子目錄中的所有指定檔案上執行作業。 |
| /c | 即使發生檔案錯誤,仍會繼續作業。 仍然會顯示錯誤訊息。 |
| /l | 在符號連結上執行作業,而不是它的目的地。 |
| /q | 隱藏成功訊息。 |
/救 <ACLfile> |
將所有相符檔案的 DACL 儲存至存取控制清單 (ACL) 檔案,以供稍後搭配 /restore使用。 |
/集合所有者 <user> |
將所有相符檔案的擁有者變更為指定的使用者。 |
/findsid <sid> |
尋找包含 DACL 且明確提及指定之安全性識別碼 (SID) 的所有相符檔案。 |
| /verify | 尋找所有具有非標準或長度與訪問控制專案 (ACE) 計數不一致的檔案。 |
| /reset | 以所有相符檔案的預設繼承 ACL 取代 ACL。 |
/grant[:r] <sid>:<perm> |
授與指定的使用者訪問許可權。 許可權會取代先前授與的明確許可權。 不新增 :r 表示權限會新增至任何先前授予的明確權限。 |
/deny <sid>:<perm> |
明確拒絕指定的使用者訪問許可權。 已針對已陳述的許可權新增明確拒絕 ACE,並移除任何明確授與中的相同許可權。 |
/remove: g |d <sid> |
從 DACL 移除指定 SID 的所有專案。 此指令也可以使用: |
/setintegritylevel <perm><level> |
明確將完整性 ACE 新增至所有相符的檔案。 層級可以指定為: 完整性 ACE 的繼承選項可能位於層級之前,而且只會套用至目錄。 |
/替代 <sidold><sidnew> |
將現有的 SID (sidold) 取代為新的 SID (sidnew)。 需要使用 搭配 <directory> 參數。 |
/還原 <ACLfile> /c | /l | /q |
將儲存的 DACL 從 <ACLfile> 套用至指定目錄中的檔案。 需要使用 搭配 <directory> 參數。 |
| /inheritancelevel: e |d |r | 設定繼承層級,這可以是: |
Remarks
SID 可以是數值或易記名稱格式。 如果您使用數值形式,請將通配符 * 貼到 SID 的開頭。
此指令會將 ACE 項目標準順序保留為:
Explicit denials
Explicit grants
Inherited denials
Inherited grants
此選項
<perm>是許可權遮罩,可以針對基本許可權、進階許可權或繼承許可權指定:一連串的簡單許可權(基本許可權)不需要使用括弧:
- N - 無法存取
- F - 完全訪問
- M - 修改存取權
- RX - 讀取和執行存取
- R - 唯讀存取權
- W - 唯寫存取
- D - 刪除存取權
必須使用括弧的特定許可權(進階許可權)逗號分隔清單:
- DE - 刪除
- RC - 讀取控制 (讀取權限)
- WDAC - 寫入 DAC (變更許可權)
- WO - 寫入擁有者 (取得擁有權)
- S - 同步
- AS - 門禁系統安全
- MA - 允許的最大值
- GR - 泛型讀取
- GW - 泛型寫入
- GE - 泛型執行
- GA - 全部通用
- RD - 讀取資料/清單目錄
- WD - 寫入資料/新增檔案
- AD - 附加資料/新增子目錄
- REA - 讀取延伸屬性
- WEA - 寫入擴充屬性
- X - 執行/遍歷
- DC - 刪除子項
- RA - 讀取屬性
- WA - 寫入屬性
必須使用括號的繼承權限序列:
- (I) - 繼承。 ACE 繼承自父容器。
- (OI) - 物件繼承。 此容器中的物件會繼承此 ACE。 僅適用於目錄。
- (CI) - 容器繼承。 此父容器中的容器會繼承此 ACE。 僅適用於目錄。
- (IO) - 僅繼承。 ACE 繼承自父容器,但不適用於物件本身。 僅適用於目錄。
- (NP) - 不要傳播繼承。 容器和對象繼承自父容器的 ACE,但不會傳播至巢狀容器。 僅適用於目錄。
Examples
若要將 C:\Windows 目錄中所有檔案的 DACL 及其子目錄儲存至 ACLFile 檔案,請輸入:
icacls c:\windows\* /save aclfile /t
若要還原 C:\Windows 目錄及其子目錄中 ACLFile 內每個檔案的 DACL,請輸入:
icacls c:\windows\ /restore aclfile
若要將 User1 Delete 和 Write DAC 許可權授與名為 Test1 的檔案,請輸入:
icacls test1 /grant User1:(d,wdac)
若要將 SID S-1-1-0 所定義的使用者授與名為 TestFile 的檔案刪除和寫入 DAC 許可權,請輸入:
icacls TestFile /grant *S-1-1-0:(d,wdac)
若要將 高 完整性層級套用至目錄,並確保其檔案和子目錄都繼承此層級,請鍵入:
icacls "myDirectory" /setintegritylevel (CI)(OI)H