windows中使用icacls命令還原文件夾的權限設置

點評:有時候Windows下的文件夾/文件的權限設置會弄得亂七八糟的,連自己都不知道哪些文件有特殊權限瞭,而GUI上又沒有明顯的辦法能清除這些特殊權限的

這時可以試試下面這個命令:

復制代碼代碼如下:
D:\> icacls 文件夾名 /T /Q /C /RESET

icacls命令簡介

Icacls 是一種命令行工具,它顯示或修改指定文件上的隨機訪問控制列表 (DACL),並將存儲的 DACL 應用於指定目錄中的文件。Icacls.exe 替換瞭 Cacls.exe 工具用於查看和編輯 DACL。ICACLS 是 Windows Server 2003 SP2 中 CACLS 工具的升級版本,可用於從恢復控制臺重設文件中的帳戶控制列表 (ACL) 以及備份 ACL。與 CACLS 不同的是,ICACLS 可以正確地傳送對繼承的 ACL 的更改和創建。有關 ICACLS 的使用及命令的更多信息,可以通過在命令提示符下運行“icacls /?”進行訪問。這裡的I應該是Improved upgrade of cacls.

以下面是CMD中的icacls命令幫助手冊:

復制代碼代碼如下:
Microsoft Windows [版本 6.1.7601]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:\Users\Administrator>icacls
ICACLS name /save aclfile [/T] [/C] [/L] [/Q]
將匹配名稱的文件和文件夾的 DACL 存儲到 aclfile 中以便將來與
/restore 一起使用。請註意,未保存 SACL、所有者或完整性標簽。
ICACLS directory [/substitute SidOld SidNew […]] /restore aclfile
[/C] [/L] [/Q]
將存儲的 DACL 應用於目錄中的文件。
ICACLS name /setowner user [/T] [/C] [/L] [/Q]
更改所有匹配名稱的所有者。該選項不會強制更改所有身份;
使用 takeown.exe 實用程序可實現該目的。
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 的繼承選項可以優先於級別,但隻應用於
目錄。
/inheritance:e|d|r
e – 啟用繼承
d – 禁用繼承並復制 ACE
r – 刪除所有繼承的 ACE
註意:
Sid 可以采用數字格式或友好的名稱格式。如果給定數字格式,
那麼請在 SID 的開頭添加一個 *。</p>
<p> /T 指示在以該名稱指定的目錄下的所有匹配文件/目錄上
執行此操作。</p>
<p> /C 指示此操作將在所有文件錯誤上繼續進行。仍將顯示錯誤消息。</p>
<p> /L 指示此操作在符號鏈接本身而不是其目標上執行。</p>
<p> /Q 指示 icacls 應該禁止顯示成功消息。</p>
<p> ICACLS 保留 ACE 項的規范順序:
顯式拒絕
顯式授予
繼承的拒絕
繼承的授予
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 – 寫入屬性
繼承權限可以優先於每種格式,但隻應用於
目錄:
(OI) – 對象繼承
(CI) – 容器繼承
(IO) – 僅繼承
(NP) – 不傳播繼承
(I) – 從父容器繼承的權限
示例:
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 的權限。

Leave a Reply

Your email address will not be published. Required fields are marked *