Takeown、Cacls、Icacls-文件、文件夾奪權用法


常用示例如下:

takeown   /f 文件名          

獲取該文件的所屬權

takeown /f /r /d n 文件夾      

獲取整個文件夾及其下面子目錄文件的所屬權

takeown /f * /a /r /d y

強制將當前目錄下的所有文件及文件夾、子文件夾下的所有者更改為管理員組(administrators)

cacls d:\file1\*.* /T /G administrators:F

將所有d:\file1目錄下的文件、子文件夾的NTFS權限修改為僅管理員組(administrators)完全控制(刪除原有NTFS權限設置)

cacls d:\file1\*.* /T /E /G administrators:F

在原有d:\file1目錄下的文件、子文件夾的NTFS權限上添加管理員組(administrators)完全控制權限(不刪除原有NTFS權限設置):

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:\Windows\system32>takeown /?
TAKEOWN [/S system [/U username [/P [password]]]]
        /F filename [/A] [/R [/D prompt]]
描述:
    該工具以重新分配文件所有權的方式允許管理員重新獲取先前被拒絕訪問的文件訪問權。
參數列表:
    /S           system          指定要連接到的遠程系統。
    /U           [domain\]user   指定用戶上下文,命令在此上下文中執行。
    /P           [password]      指定給定用戶上下文的密碼。如果省略,提示輸入。
    /F           filename        指定文件名或目錄名模式。可以用通配符 "*"指定模式。允許共享名\文件名。
    /A                           將所有權給於管理員組,而不是當前用戶。
    /R                           遞歸: 指示工具運行於指定的目錄和子目錄里的文件上。
    /D           prompt          當前用戶在一個目錄里沒有“列出文件夾”權限時,使用默認答案。當在子目錄里進行遞歸 (/R) 操作時會發生這種情況。用有效值 "Y" 獲取所有權或用 "N" 跳過。
    /SKIPSL                      不遵循符號鏈接。僅適用於 /R。
    /?                           顯示此幫助消息。
    注意: 1) 如果未指定 /A,文件所有權會將被授予當前登錄的用戶。
          2) 不支持用 "?" 和 "*" 的混合模式。
          3) /D 用於抑制確認提示。
示例:
    TAKEOWN /?
    TAKEOWN /F lostfile
    TAKEOWN /F \\system\share\lostfile /A
    TAKEOWN /F directory /R /D N
    TAKEOWN /F directory /R /A
    TAKEOWN /F *
    TAKEOWN /F C:\Windows\System32\acme.exe
    TAKEOWN /F %windir%\*.txt
    TAKEOWN /S system /F MyShare\Acme*.doc
    TAKEOWN /S system /U user /F MyShare\MyBinary.dll
    TAKEOWN /S system /U domain\user /P password /F share\filename
    TAKEOWN /S system /U user /P password /F Doc\Report.doc /A
    TAKEOWN /S system /U user /P password /F Myshare\*
    TAKEOWN /S system /U user /P password /F Home\Logon /R
    TAKEOWN /S system /U user /P password /F Myshare\directory /R /A
image

C:\Windows\system32>cacls /?
 注意: 不推薦使用 Cacls,請使用 Icacls。
 顯示或者修改文件的訪問控制列表(ACL)
 CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm]
        [/R user [...]] [/P user:perm [...]] [/D user [...]]
    filename      顯示 ACL。
    /T            更改當前目錄及其所有子目錄中指定文件的 ACL。
    /L            對照目標處理符號鏈接本身
    /M            更改裝載到目錄的卷的 ACL
    /S            顯示 DACL 的 SDDL 字符串。
    /S:SDDL       使用在 SDDL 字符串中指定的 ACL 替換 ACL。(/E、/G、/R、/P 或 /D 無效)。
    /E            編輯 ACL 而不替換。
    /C            在出現拒絕訪問錯誤時繼續。
    /G user:perm  賦予指定用戶訪問權限。
                  Perm 可以是: R  讀取
                               W  寫入
                               C  更改(寫入)
                               F  完全控制
    /R user       撤銷指定用戶的訪問權限(僅在與 /E 一起使用時合法)。
    /P user:perm  替換指定用戶的訪問權限。
                  Perm 可以是: N  無
                               R  讀取
                               W  寫入
                               C  更改(寫入)
                               F  完全控制
    /D user       拒絕指定用戶的訪問。
 在命令中可以使用通配符指定多個文件。
 也可以在命令中指定多個用戶。
縮寫:
    CI - 容器繼承。ACE 會由目錄繼承。
    OI - 對象繼承。ACE 會由文件繼承。
    IO - 只繼承。ACE 不適用於當前文件/目錄。
    ID - 已繼承。ACE 從父目錄的 ACL 繼承。

C:\Windows\system32>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] [/Q]
       [/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) - 從父容器繼承的權限

歡迎關注微信公眾號:小溫研習社


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM