複製鏈接
請複製以下鏈接發送給好友

cacls

鎖定
cacls,計算機編程函數,可顯示或修改任意訪問控制列表 (ACL) 文件。
中文名
cacls
外文名
cacls
類    別
命令提示符
操作系統
DOS系統
作    用
顯示或修改任意ACL文件

目錄

cacls概念

顯示或修改任意訪問控制列表 (ACL) 文件。

cacls語法

cacls FileName [/t] [/e] [/c] [/g User:permission] [/r User [...]] [/p User:permission [...]] [/d User [...]]
參數
FileName
必需。顯示指定文件的 ACL。
/t
更改當前目錄和所有子目錄中指定文件的 ACL。
/e
編輯 ACL,而不是替換它。
/c
忽略錯誤,繼續修改 ACL。
/g User:permission
將訪問權限授予指定用户。下表列出了 permission 的有效值。 值 説明
n 無
r 閲讀順序
w 寫入
c 更改(寫入)
F 完全控制
/r user
取消指定用户的訪問權限。
/p User:permission
替代指定用户的訪問權限。下表列出了 permission 的有效值。 值 説明
n 無
r 閲讀順序
w 寫入
c 更改(寫入)
F 完全控制
/d user
拒絕指定用户的訪問。
/?
命令提示符顯示幫助。
註釋
使用下表解釋輸出結果。 輸出 ACE 的適用於
OI 此文件夾和文件
CI 此文件夾和子文件夾
IO ACE 不適用於當前文件/目錄。
沒有輸出消息 僅此文件夾
(IO)(CI) 此文件夾、子文件夾和文件
(OI)(CI)(IO) 僅子文件夾和文件
(CI)(IO) 僅子文件夾
(OI)(IO) 僅文件
使用通配符(? 和 *)可以指定多個文件。
可以指定多個用户。
例如:cacls d:\game /p everyone:n
cacls c:\windows\system32\cmd.exe /e /d guests //禁止guests組用户使用cmd.exe
cacls c:\windows\system32\cmd.exe /e /r users //解禁。
允許guests組用户使用cmd.exe /d user /e /r user 拒絕指定用户的訪問。
編輯 ACL,而不是替換它。取消指定用户的訪問權限。
cacls c:\test /p administrator :N 拒絕 administrator 用户(超及管理用户)訪問C盤下的test文件夾
cacls c:\test /p administrator:F 恢復 administrator用户對其的訪問
值得注意的是,在使用cacls命令對某一盤符設置了對administrator拒絕訪問後,如
cacls c:\ /p administrator:N
再使用 cacls c: /p administrator:F 命令恢復權限已經不可行了,這時可以用後面的一個方法進行解決,恢復其操作權.
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 的開頭添加一個 *。
/T 指示在以該名稱指定的目錄下的所有匹配文件/目錄上執行此操作。
/C 指示此操作將在所有文件錯誤上繼續進行。仍將顯示錯誤消息。
/L 指示此操作在符號鏈接本身而不是其目標上執行。
/Q 指示 icacls 應該禁止顯示成功消息。
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 的權限。
關於C盤整個盤符被鎖定的解決辦法
當使用這個命令 cacls c:\ /p administrator:N 後,你將失去對系統C盤控制權.這時,一般的方法
cacls c: /p administrator:F 命令恢復權限已經不可行了,可以用下面的一個方法嘗試:
1、首先打開Windows中的任何一個窗口,執行“工具”菜單下的“文件夾選項”命令,選擇“查看”標籤,將“使用簡單文件共享(推薦)”複選框前的(√)清除掉,單擊“確定”或“應用”;
2、用鼠標右鍵單擊已設置了拒絕訪問的文件夾或驅動器,執行右鍵菜單中的“屬性”命令,選擇“安全”標籤,單擊“高級”按鈕,選擇“審核”標籤,(win7 或 vista用户中有權限時,點“繼續”)
單擊“添加”按鈕,單擊“高級”按鈕,單擊“立即查找”——選擇“Administrator”計算機管理員用户,單擊“確定”,再單擊“確定”;設置該用户下的訪問權限完全控制,再“確定”。過程中彈出 更改權限窗口 時,點是,出錯再點取消,
3、重複以上操作步驟,選擇用户為:everyone,設置其訪問權限完全控制.並應用即可取消驅動器或文件夾的拒絕訪問了
4、如果在做完後,再查看權限,變為全為拒絕時,再重複2,3就可以了
使用WinPE系統取回完全控制權限
圖1拒絕訪問控制編輯器 圖1拒絕訪問控制編輯器
如果出現對於按照“關於C盤整個盤符被鎖定的解決辦法”操作還是不行的情況,即在第二步點擊“繼續”之後,彈出的對話框是“無法打開訪問控制編輯器。拒絕訪問。”如圖1,
則可以嘗試重啓電腦,並運行winPE系統(能夠安裝win7系統所使用的winPE),進入系統之後,在C盤上右鍵,選擇屬性——>安全——>組或用户名中選中Administrators——>編輯——>高級——>更改權限——>選擇Administrators——>編輯——>選中“完全控制”複選框,確定之後,重啓電腦即可擁有對C盤的完全控制權限,當然,前提是以Administrator的身份登錄。