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 不适用于当前文件/目录。

转载于:https://www.cnblogs.com/jcss2008/archive/2009/08/04/1538481.html

cacls 使用方法相关推荐

  1. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  2. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  3. 命令行修改文件文件夹访问权限 cacls, 修改hosts内容方法

    背景 日常使用Windows的过程中,hosts(C:\Windows\System32\drivers\etc)文件可能被一些程序串改,因此在网上找到禁止/允许修改hosts文件的bat脚本,但是在 ...

  4. cacls命令设置文件及其文件夹权限的方法

    cacls命令设置文件及其文件夹权限的方法 这篇文章主要介绍了使用cacls命令设置文件及其文件夹权限的方法,需要的朋友可以参考下 网上有许多讲解cacls权限设置的文章,虽然已经讲的比较简单,但是新 ...

  5. 浅谈批处理获取管理员运行权限的几种方法

    很多用了Win10版本系统的人都会发现,Windows对程序的运行权限是控制得更加严格了,即使你将UAC控制放至最低,如果没有特别赋予外来程序管理员运行权限的话,很多程序都会运行出错,包括很多用于系统 ...

  6. ASP.NET连接带密码Access的方法

    虽然Access加上密码破解起来非常容易,但是出于一些安全性的考虑,还是要做一下的. 1.为Access加上密码 先打开 Microsoft Access,选择"文件-打开",选择 ...

  7. cacls文件服务器备份与恢复,实战安全设置WEB专用服务器技巧

    7.检查系统文件 主要检查系统盘的exe和dll文件,建议系统安装完毕之后用dir *.exe /s >1.txt将c盘所有的exe文件列表保存下来,然后每次检查的时候再用该命令生成一份当时的列 ...

  8. 删除Autorun.inf的方法

    你的电脑的每个分区根目录都有一个autorun.inf的文件夹,查看属性是只读+隐藏,且无法删除.无法取得权限!点进去,却显示的是控制面板的内容?   其实这个不是病毒,而是用来防病毒,一些系统封装工 ...

  9. 彻底删除0KB顽固文件或文件夹的方法

    今天遇到一个郁闷的事情,桌面无故多了几个隐藏文件,而且都是0kb的,怎么删除都不行,排除中毒的可能.没办法到网上找: 1.将下面代码复制到记事本中,并另存为.bat文件,如HTMer_Del.bat( ...

最新文章

  1. 57 Node.js异步编程
  2. 排错-Loadrunner录制打不开浏览器解决方法
  3. [C++ STL] map使用详解
  4. 微信小程序之redirectTo、switchTab和navigateTo
  5. 睡前必读 | 如何系统性地学习分布式系统?
  6. AWS s3 V4签名算法
  7. python顺时针旋转_Python之二维数组N*N顺时针旋转90度
  8. Luogu P2319 [HNOI2006]超级英雄
  9. php文件不写结尾,php文件结尾不写?的好处有哪...-php判断两个日期相差天数的实...-php根据时间显示刚刚,几分钟前,几小时前的实现代码_169IT.COM...
  10. 记录一次nginx 配置https 强制http转发到https
  11. 使用Foxit Reader实现批量打印以及一页多版设置技巧
  12. 校园网\中心机房\拓扑图 思科模拟器(cisco)
  13. POJ3744 Scout YYF I 概率DP+矩阵快速幂
  14. ffmpeg 中av_rescale_rnd 与av_rescale ()(AVRounding结构体)
  15. usb万能驱动win7_突破封锁,倒行逆施强行安装Win7系统,繁琐变简洁
  16. 如何解决网上图片模糊不清,还原图片清晰度?
  17. tomcat各版本下载
  18. C语言/C++常见习题问答集锦[八十三]之数据结构顺序表(operand types are error: no match for “operator==“)
  19. linux 找回网卡的uuid_Linux系统怎么查看网卡的UUID
  20. 手把手教你 VMware安装Kali Linux(超详细)

热门文章

  1. 给华为S5700交换机配下链路聚合
  2. 【干货】Linux 运维故障排查思路,有这篇文章就够了
  3. IDEA 中 30 秒生成 Spring Cloud Alibaba 工程
  4. 友善之臂 mini2440 linux led 驱动代码,mini2440 led驱动程序
  5. python字符串去掉特殊符号和空格_从字符串中删除所有特殊字符,标点符号和空格...
  6. 图像降噪算法——非局部均值降噪算法
  7. 【杂谈】如何从数据准备,模型设计与调优,训练到部署完成整个深度学习算法流程...
  8. 【知识星球】总有些骨骼轻奇,姿态妖娆的模型结构设计,不知道你知不知道,反正我知道一些...
  9. [caffe解读] caffe从数学公式到代码实现1-导论
  10. 2022年全球及中国滑雪铲行业品牌调研与市场消费规模分析报告