原文鏈接: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!