在Windows Vista和Windows Server 2003 Service Pack 2中,微軟提供了一個新的命令行工具Icacls,你可以使用它來查看、設置、保存并恢復文件夾或文件的權限。它在功能上比以往的Cacls更為強大。
ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
將所有匹配名稱的 ACL 存儲到 aclfile 中以便將來用于 /restore.
ICACLS directory [/substitute SidOld SidNew […]] /restore aclfile
[/C] [/L] [/Q]
將存儲的 ACL 應用于目錄中的文件。
ICACLS name /setowner user [/T] [/C] [/L] [/Q]
更改所有匹配名稱的所有者。
ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
查找包含顯式提及 SID 的 ACL 的所有匹配名稱。
ICACLS name /verify [/T] [/C] [/L] [/Q]
查找 ACL 不標準或長度與 ACE 計數不一致的所有文件。
ICACLS name /reset [/T] [/C] [/L] [/Q]
為所有匹配文件使用默認繼承的 ACL 替換 ACL
ICACLS name [/grant[:r] Sid:perm[…]]
[/deny Sid:perm […]]
[/remove[:g|:d]] Sid[…]] [/T] [/C] [/L]
[/setintegritylevel Level:policy[…]]
/grant[:r] Sid:perm 授予指定用戶訪問權限。使用 :r,
該權限將替換以前授予的所有顯式權限。
不使用 :r,該權限將添加到以前授予的所有顯式權限。
/deny Sid:perm 顯式拒絕指定的用戶訪問權限。
已經為規定的權限添加了顯式拒絕 ACE,
刪除所有顯式授予的權限中的相同權限。
/remove[:[g|d]] Sid 刪除 ACL 中所有出現的 SID.使用
:g,刪除授予該 SID 的所有權限。使用
:d,刪除拒絕該 SID 的所有權限。
/setintegritylevel [(CI)(OI)] 級別將完整性 ACE 顯式添加到所有匹配文件。要指定的級別為以下級別之一:
L[ow]
M[edium]
H[igh]
完整性 ACE 的繼承選項可以優先于級別,但只應用于目錄。
注意:
Sids 可能是數字格式或友好的名稱格式。如果給定數字格式,
那么請在 SID 的開頭添加一個 *.
/T 指示在以該名稱指定的目錄下的所有匹配文件/目錄上
執行此操作。
/C 指示該操作將在所有文件錯誤上繼續。仍將顯示錯誤消息。
/L 指示此操作在符號鏈接本身而不是其目標上執行。
/Q 表示 icacls 應該壓制成功的消息。
ICACLS 保留 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 - 寫入屬性
繼承權限可以優先于每種格式,但只應用于
目錄:
(OI) - 對象繼承
(CI) - 容器繼承
(IO) - 僅繼承
(NP) - 不傳播繼承
示例:
icacls c:windows* /save AclFile /T
- 將 c:windows 及其子目錄下所有文件的
ACL 保存到 AclFile.
icacls c:windows /restore AclFile
- 將還原 c:windows 及其子目錄下存在的 AclFile 內
所有文件的 ACL
icacls file /grant Administrator:(D,WDAC)
- 將授予用戶對文件刪除和寫入 DAC 的管
理員權限
icacls file /grant *S-1-1-0:(D,WDAC)
- 將授予由 sid S-1-1-0 定義的用戶對文件刪
除和寫入 DAC 的權限
新聞熱點
疑難解答