icacls
顯示或修改指定檔案上的任意訪問控制清單(DACL),並將儲存的 DACL 套用至指定目錄中的檔案。
注意
此命令會取代 取代cacls 命令。
icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]]
icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]
參數 | 說明 |
---|---|
<檔名> | 指定要顯示或修改 DACL 的檔案。 |
<目錄> | 指定要顯示或修改 DACL 的目錄。 |
/t | 在目前目錄及其子目錄中的所有指定檔案上執行作業。 |
/c | 儘管發生任何檔案錯誤,仍會繼續作業。 仍會顯示錯誤訊息。 |
/l | 在符號連結上執行作業,而不是它的目的地。 |
/q | 隱藏成功訊息。 |
[/save <ACLfile> [/t] [/c] [/l] [/q]] | 將所有相符檔案的 DACL 儲存至訪問控制清單 (ACL) 檔案,以供稍後搭配 /restore使用。 |
[/setowner <username> [/t] [/c] [/l] [/q]] | 將所有相符檔案的擁有者變更為指定的使用者。 |
[/findsid <sid> [/t] [/c] [/l] [/q]] | 尋找包含 DACL 且明確提及指定之安全性識別碼 (SID) 的所有相符檔案。 |
[/verify [/t] [/c] [/l] [/q]] | 尋找所有具有非標準或長度與訪問控制專案 (ACE) 計數不一致的檔案。 |
[/reset [/t] [/c] [/l] [/q]] | 以所有相符檔案的預設繼承 ACL 取代 ACL。 |
[/grant[:r] <sid>:<perm>[...]] | 授與指定的使用者訪問許可權。 許可權會取代先前授與的明確許可權。 未新增 :r,表示許可權會新增至任何先前授與的明確許可權。 |
[/deny <sid>:<perm>[...]] | 明確拒絕指定的使用者訪問許可權。 已針對已陳述的許可權新增明確拒絕 ACE,並移除任何明確授與中的相同許可權。 |
[/remove[:g | :d]] <sid>[...][/t][/c][/l][/q] | 從 DACL 移除指定 SID 的所有專案。 此指令也可以使用:
|
[/setintegritylevel [(CI)(OI)] <層級>:<原則>[...]] | 明確將完整性 ACE 新增至所有相符的檔案。 層級可以指定為:
|
[/substitute <sidold><sidnew> [...]] | 將現有的 SID (sidold) 取代為新的 SID (sidnew)。 需要使用 搭配 <directory> 參數。 |
/restore <ACLfile> [/c] [/l] [/q] | 將儲存的 DACL 從 <ACLfile> 套用至指定目錄中的檔案。 需要使用 搭配 <directory> 參數。 |
/inheritancelevel: [e | d | r] | 設定繼承層級,這可以是:
|
SID 可以是數值或易記名稱格式。 如果您使用數值形式,請將通配符 * 貼到 SID 的開頭。
此指令會將 ACE 項目標準順序保留為:
明確拒絕
明確授與
繼承的拒絕
繼承的授與
<perm>
選項是一種許可權遮罩,可透過下列其中一種形式指定:一連串簡單許可權(基本許可權):
F - 完整存取
M- 修改存取權
RX - 讀取和執行存取權
R - 唯讀存取
W - 唯讀存取
特定許可權括弧中的逗號分隔清單(進階許可權):
D - 刪除
RC - 讀取控制件 (讀取權限)
WDAC - 寫入 DAC (變更權限)
WO - 寫入擁有者 (取得擁有權)
S - 同步處理
AS - 存取系統安全性
MA - 允許的最大值
GR - 一般讀取
GW - 泛型寫入
GE - 泛型執行
GA - 全部一般
RD - 讀取資料/列表目錄
WD - 寫入資料/新增檔案
AD - 附加資料/新增子目錄
REA - 讀取擴充屬性
WEA - 寫入擴充屬性
X - 執行/周遊
DC - 刪除子系
RA - 讀取屬性
WA - 寫入屬性
繼承權限可能位於
<perm>
表單之前:(I) - 繼承。 ACE 繼承自父容器。
(OI) - 對象繼承。 此容器中的物件將會繼承此 ACE。 僅適用於目錄。
(CI) - 容器繼承。 此父容器中的容器將會繼承此 ACE。 僅適用於目錄。
(IO) - 僅限繼承。 ACE 繼承自父容器,但不適用於物件本身。 僅適用於目錄。
(NP) - 請勿傳播繼承。 容器和對象繼承自父容器的 ACE,但不會傳播至巢狀容器。 僅適用於目錄。
若要將 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 所定義的使用者授與名為 Test2 的檔案刪除和寫入 DAC 許可權,請輸入:
icacls test2 /grant *S-1-1-0:(d,wdac)