cacls命令使用实例集

cacls命令使用实例集C cacls 显示或者修改文件的访问控制表 ACL CACLSfilenam T E C Guser perm Ruser Puser perm Duser

大家好,欢迎来到IT知识分享网。

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 用了这个命令,就会把 文件上的所有用户只替换成你指定的用户
权限,并把其他用户全部删除。那么看下演示,还是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/dorothychai/archive/2009/05/28/2268153.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/130343.html

(0)
上一篇 2025-08-15 22:10
下一篇 2025-08-15 22:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信