cacls 使用方法
生活随笔
收集整理的這篇文章主要介紹了
cacls 使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C:\>cacls /?
顯示或者修改文件的訪問控制表(ACL)
CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
?????????????? [/P user:perm [...]] [/D user [...]]
?? filename??????顯示 ACL。
(fileame為文件路徑+具體文件名;例:cacls c:\test.txt,他就會顯示該文件的所有用戶權限了。不懂 就看圖1)
另外大家可能看到BUILTIN\Administrator,可能有人會奇怪,這個BUILTIN是什么意思,他的意思就是“表示內建帳戶。也即表示Windows的Administrator用戶組。”
(圖1)
?? /T????????????更改當前目錄及其所有子目錄中指定文件的 ACL。
(/T就是修改當前以及在其目錄下的所有子目錄的相應文件權限,比如我建立了
c:\1\1.txt
c:\1\2\1.txt
c:\1\2\2.txt
三個文件,如果我用cacls c:\1\1.txt /t /g:everyone:r,那么他的效果就如圖2圖3圖4,本來我是處理的c:\1\1.txt,但是因為加了/t這個參數,在c:\1\目錄下所有子目錄下的1.txt權限就都被更改了。
)
圖2 c:\1\1.txt
圖3 c:\1\2\1.txt
圖4 c:\1\2\2.txt
?? /E????????????編輯 ACL 而不替換。
(這個/E對于我來說有點咬文嚼字了,編輯,而不替換,什么意思呢就是說,比如c:\test.txt的權限,如圖5)
圖5
大家都看到他的權限了吧,那么/e參數起什么作用呢?我們來修改下Administrator的權限。
命令是cacls c:\test.txt /e /p Administrator:r ,處理過的文件看圖6
圖6,和圖5比較一下,因為有/e參數,他只是修改了Administrator的權限。
?? /C????????????在出現拒絕訪問錯誤時繼續。
(這個就好解釋了,就是不管命令是否有錯,都繼續執行。就不加圖做演示了。)
?? /G user:perm??賦予指定用戶訪問權限。
???????????????? Perm 可以是: R??讀取
??????????????????????????????W??寫入
??????????????????????????????C??更改(寫入)
??????????????????????????????F??完全控制
(/G呢就是給指定用戶訪問權限,而且會刪除該文件上其他用戶的所有權限,比如我那個更改HOSTS文件
權限的命令吧,就是/g everyone:r 用了這個命令,就會把hosts文件上的所有用戶只替換成你指定的用戶
權限,并把其他用戶全部刪除。那么看下演示,還是c:\test.txt,先看下它沒經過/g處理的時候,如圖7)
圖7 c:\test.txt沒經過/G參數處理時候的圖。
再看圖8,是用/G參數處理過的,處理命令為echo y|cacls c:\test.txt /g Administrator:r
圖8,用echo y|cacls c:\test.txt /g Administrator:r命令處理過的效果。
用圖8和圖7一對比,知道/g參數的作用了否???
?? /R user?????? 撤銷指定用戶的訪問權限(僅在與 /E 一起使用時合法)。
(/R我的理解就是刪除文件上指定用戶的權限,你寫哪個用戶,哪個用戶的權限就會刪除,同時必須有/E參數)
看圖說明吧,還是圖比較直觀,先看c:\test1.txt文件原來有的權限。如圖9
圖9
那么我們用命令cacls c:\test1.txt /e /r system命令處理一下,把system用戶權限給刪除。看圖10
圖10,用命令cacls c:\test1.txt /e /r system把SYSTEM用戶權限給刪掉了。和圖9比一下 。也就理解了。那如果我是用命令cacls c:\test1.txt /e /r Administrator呢?界于/R參數的關系 ,那就Administrator的用戶權限也沒有了唄!
?? /P user:perm??替換指定用戶的訪問權限。
???????????????? Perm 可以是: N??無
??????????????????????????????R??讀取
??????????????????????????????W??寫入
??????????????????????????????C??更改(寫入)
??????????????????????????????F??完全控制
(/P就是把原來的所用用戶權限都改為你命令中輸入的權限,比如你看圖11,一共有3個用戶權限)
圖11
主要是看現在Administrator的權限,是所有權限,那么我們用命令
echo y|cacls c:\test1.txt /p Administrator:r,把test1.txt文件改為只有
Administrator有讀取權限。看圖12
明白了吧,替換就是把所有的權限都替換成你命令里的權限,如果加了/E參數的話 ,那其他2個用戶的權限就不會沒有,而Administrator一樣會被改為只有讀取權限。我就不再做說明了。大家可以測試下。
命令是cacls 文件 /e /p 用戶名:r,用這個命令處理過一個文件后,你會發現他原來的用戶權限都在。
但是你命令中的用戶名權限 就會被改為只有讀取權限了。
?? /D user?????? 拒絕指定用戶的訪問。在命令中可以使用通配符指定多個文件。也可以在命令中指定多個用戶。
(/D嘛,看CMD的說明就知道了。就是拒絕指定用戶的訪問了。。再來個圖片說明,看圖13 c:\test2.txt文件的原有權限。)
圖13。他的Administrator目前是所有權限。
那我們用命令echo y|cacls c:\test2.txt /e /d Administrator處理下。
看圖14,然后再和圖13比一下 。我們會發現Administrator的權限都變成拒絕了,且文件不可訪問。
圖14
大概就是這些意思吧,可能其中的某些參數沒有演示到位,或者有些詞不搭意,但是我想不懂的人看過之后至少能明白一些,其中的命令配合大家自行研究一下,其實我對批處理也只是一知半解,但是我這個人遇到問題后就喜歡把問題寫出來,做個簡單的教程來同大家分享,因為我介紹的這些東西并不是什么高深內容,但是講起來又很麻煩,所以就算是普及一下九年義務教育好了。高手別罵我,如果有什么錯誤請指正,同時沒有詆毀任何人的意思。
縮寫:
?? CI - 容器繼承。
????????ACE 會由目錄繼承。
?? OI - 對象繼承。
????????ACE 會由文件繼承。
?? IO - 只繼承。
????????ACE 不適用于當前文件/目錄。
顯示或者修改文件的訪問控制表(ACL)
CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
?????????????? [/P user:perm [...]] [/D user [...]]
?? filename??????顯示 ACL。
(fileame為文件路徑+具體文件名;例:cacls c:\test.txt,他就會顯示該文件的所有用戶權限了。不懂 就看圖1)
另外大家可能看到BUILTIN\Administrator,可能有人會奇怪,這個BUILTIN是什么意思,他的意思就是“表示內建帳戶。也即表示Windows的Administrator用戶組。”
(圖1)
?? /T????????????更改當前目錄及其所有子目錄中指定文件的 ACL。
(/T就是修改當前以及在其目錄下的所有子目錄的相應文件權限,比如我建立了
c:\1\1.txt
c:\1\2\1.txt
c:\1\2\2.txt
三個文件,如果我用cacls c:\1\1.txt /t /g:everyone:r,那么他的效果就如圖2圖3圖4,本來我是處理的c:\1\1.txt,但是因為加了/t這個參數,在c:\1\目錄下所有子目錄下的1.txt權限就都被更改了。
)
圖2 c:\1\1.txt
圖3 c:\1\2\1.txt
圖4 c:\1\2\2.txt
?? /E????????????編輯 ACL 而不替換。
(這個/E對于我來說有點咬文嚼字了,編輯,而不替換,什么意思呢就是說,比如c:\test.txt的權限,如圖5)
圖5
大家都看到他的權限了吧,那么/e參數起什么作用呢?我們來修改下Administrator的權限。
命令是cacls c:\test.txt /e /p Administrator:r ,處理過的文件看圖6
圖6,和圖5比較一下,因為有/e參數,他只是修改了Administrator的權限。
?? /C????????????在出現拒絕訪問錯誤時繼續。
(這個就好解釋了,就是不管命令是否有錯,都繼續執行。就不加圖做演示了。)
?? /G user:perm??賦予指定用戶訪問權限。
???????????????? Perm 可以是: R??讀取
??????????????????????????????W??寫入
??????????????????????????????C??更改(寫入)
??????????????????????????????F??完全控制
(/G呢就是給指定用戶訪問權限,而且會刪除該文件上其他用戶的所有權限,比如我那個更改HOSTS文件
權限的命令吧,就是/g everyone:r 用了這個命令,就會把hosts文件上的所有用戶只替換成你指定的用戶
權限,并把其他用戶全部刪除。那么看下演示,還是c:\test.txt,先看下它沒經過/g處理的時候,如圖7)
圖7 c:\test.txt沒經過/G參數處理時候的圖。
再看圖8,是用/G參數處理過的,處理命令為echo y|cacls c:\test.txt /g Administrator:r
圖8,用echo y|cacls c:\test.txt /g Administrator:r命令處理過的效果。
用圖8和圖7一對比,知道/g參數的作用了否???
?? /R user?????? 撤銷指定用戶的訪問權限(僅在與 /E 一起使用時合法)。
(/R我的理解就是刪除文件上指定用戶的權限,你寫哪個用戶,哪個用戶的權限就會刪除,同時必須有/E參數)
看圖說明吧,還是圖比較直觀,先看c:\test1.txt文件原來有的權限。如圖9
圖9
那么我們用命令cacls c:\test1.txt /e /r system命令處理一下,把system用戶權限給刪除。看圖10
圖10,用命令cacls c:\test1.txt /e /r system把SYSTEM用戶權限給刪掉了。和圖9比一下 。也就理解了。那如果我是用命令cacls c:\test1.txt /e /r Administrator呢?界于/R參數的關系 ,那就Administrator的用戶權限也沒有了唄!
?? /P user:perm??替換指定用戶的訪問權限。
???????????????? Perm 可以是: N??無
??????????????????????????????R??讀取
??????????????????????????????W??寫入
??????????????????????????????C??更改(寫入)
??????????????????????????????F??完全控制
(/P就是把原來的所用用戶權限都改為你命令中輸入的權限,比如你看圖11,一共有3個用戶權限)
圖11
主要是看現在Administrator的權限,是所有權限,那么我們用命令
echo y|cacls c:\test1.txt /p Administrator:r,把test1.txt文件改為只有
Administrator有讀取權限。看圖12
明白了吧,替換就是把所有的權限都替換成你命令里的權限,如果加了/E參數的話 ,那其他2個用戶的權限就不會沒有,而Administrator一樣會被改為只有讀取權限。我就不再做說明了。大家可以測試下。
命令是cacls 文件 /e /p 用戶名:r,用這個命令處理過一個文件后,你會發現他原來的用戶權限都在。
但是你命令中的用戶名權限 就會被改為只有讀取權限了。
?? /D user?????? 拒絕指定用戶的訪問。在命令中可以使用通配符指定多個文件。也可以在命令中指定多個用戶。
(/D嘛,看CMD的說明就知道了。就是拒絕指定用戶的訪問了。。再來個圖片說明,看圖13 c:\test2.txt文件的原有權限。)
圖13。他的Administrator目前是所有權限。
那我們用命令echo y|cacls c:\test2.txt /e /d Administrator處理下。
看圖14,然后再和圖13比一下 。我們會發現Administrator的權限都變成拒絕了,且文件不可訪問。
圖14
大概就是這些意思吧,可能其中的某些參數沒有演示到位,或者有些詞不搭意,但是我想不懂的人看過之后至少能明白一些,其中的命令配合大家自行研究一下,其實我對批處理也只是一知半解,但是我這個人遇到問題后就喜歡把問題寫出來,做個簡單的教程來同大家分享,因為我介紹的這些東西并不是什么高深內容,但是講起來又很麻煩,所以就算是普及一下九年義務教育好了。高手別罵我,如果有什么錯誤請指正,同時沒有詆毀任何人的意思。
縮寫:
?? CI - 容器繼承。
????????ACE 會由目錄繼承。
?? OI - 對象繼承。
????????ACE 會由文件繼承。
?? IO - 只繼承。
????????ACE 不適用于當前文件/目錄。
轉載于:https://www.cnblogs.com/jcss2008/archive/2009/08/04/1538481.html
總結
以上是生活随笔為你收集整理的cacls 使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈企业软件架构(5)
- 下一篇: WinCE驱动编写小结(转载)