WIN7/8/10批處理修改文件夾安全權限命令Cacls (轉)


原文鏈接:http://www.chieng.cn/post/152.html

 

腳本:Cacls命令及其應用實例

Cacls,很強大的一個命令。其主要用途在於可以對各文件夾目錄的用戶權限進行快速設置。不論多少的文件夾,也不論多復雜的文件目錄,一個命令即可搞定。

 

在往下看之前,請牢記:以下命令切不可對C盤及系統文件夾使用!!特此警告。除非你自以為是NB人士!

 

順便加一句,如果發現重啟后屏幕提示:autochk program not found, skipping autocheck。並馬上進入藍屏,提示:stop:c 000021a unknown hard error。恭喜,練功的絕好時機到了!不要到網上亂搜,沒用的。也不必重裝系統。解決辦法見下一篇文章!

 

Cacls命令的使用格式如下:

 

顯示或者修改文件的訪問控制表(ACL) 

Cacls filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]

               [/P user:perm [...]] [/D user [...]]

 

   filename      顯示 ACL。

   /T            更改當前目錄及其所有子目錄中

                 指定文件的 ACL。

   /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 不適用於當前文件/目錄。

 

下面舉幾個例子來看看Cacls命令如何使用。

 

1、在命令編輯器中使用

 

C:\Temp>Cacls %cd% /t /c /d Adminstrator

是否確定(Y/N)?Y

處理的目錄: C:\Temp

文件名、目錄名或卷標語法不正確。

 

C:\Temp>Cacls %cd% /t /c /g Adminstrator:f

是否確定(Y/N)?Y

處理的目錄: C:\Temp

處理的文件: C:\Temp\text.txt

處理的目錄: C:\Temp\新建文件夾

 

 C:\Temp>

 

簡析:

上述第一行命令將拒絕Adminstrator用戶訪問c:\temp目錄,第二個命令則重新賦予Adminstrator用戶完全控制權限。%cd%表示當前路徑。其實這里可以用./.代替當前路徑,即命令:calcs ./. /t /c /d Adminstrator, 但兩者(%cd%與./)又有其不同之處,前者是一個純粹的路徑,因此上面的兩個命令可以連續執行,但./.不行。后者在命令執行時將自身定位到c:\temp目錄下,但該目錄已被拒絕訪問,所以會出錯,用Cacls ./. /t /c /g Adminstrator:f命令將得到另一種結果(也不妨一試:)),此時應該用.(./)代替當前路徑!如下:

 

C:\Temp>Cacls ./. /t /c /d Adminstrator

是否確定(Y/N)?Y

處理的目錄: C:\Temp

文件名、目錄名或卷標語法不正確。

 

C:\Temp>Cacls . /t /c /g Adminstrator:f

是否確定(Y/N)?Y

處理的目錄: C:\Temp

處理的文件: C:\Temp\text.txt

處理的目錄: C:\Temp\新建文件夾

 

C:\Temp>

 

 

2、在批處理文件中使用(下面為幾個bat文件的具體內容)

 

(1.bat)

 @Echo Y|Cacls %* /t /c /d Adminstrator

@Echo off

 

 (2.bat)

 @Echo Y|Cacls %* /t /c /p Adminstrator:f

@Echo off

 

 (3.bat)

 @Echo Y|Cacls ./. /t /c /d Adminstrator

@Echo off

 

 簡析:

使用時將需要的文件拖動到1.bat或2.bat上,則該文件就會被拒絕訪問(1.bat)或者給予控制權限(2.bat)。其中,Y|Cacls表示執行並將Y值賦予Cacls命令,%*是for命令的參數,在這里使用拖動方式即調用了for命令,*是通配符,拖動使用時,%*與%1等價,若改為%0會有什么結果?更多擴展參數可參考for命令的說明。

3.bat文件中采用了相對路徑,因此使用它時不需要拖動文件,直接雙擊3.bat,即可將當前目錄(即3.bat所在的文件夾)設置為“拒絕訪問”。這個命令中,若將路徑換成./或者../.,試試會有什么不同?但不要在不明白相對路徑含義的情況下可隨意更換路徑符號,否則很可能出現意外的嚴重后果!

 

This article comes from http://www.chieng.cn, reproduced please specify!


免責聲明!

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



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