Board logo

标题: [文件操作] 求批处理更改/设置指定文件夹及其子目录和其下所有文件的权限(icacsl 向下传承权限) [打印本页]

作者: yoloj    时间: 2015-8-19 21:59     标题: 求批处理更改/设置指定文件夹及其子目录和其下所有文件的权限(icacsl 向下传承权限)

本帖最后由 pcl_test 于 2016-9-9 13:09 编辑

在win7下怎样批处理更改文件夹及其子目录权限,,

比如C盘有一个文件夹"abc",这个文件夹下还有几层子目录和一些程序文件,,我想完全限制“abc”这个文件夹及其子目录及其所有文件的读取权限,,,就是完全拒绝everyone、system、administrator这三个用户的读取权限。。。请问这个批处理怎么写,,,win7 x64系统..。。。谢谢。。
作者: flyinnet9    时间: 2015-8-20 11:29

拒绝everyone会导致任何人都无法访问
通过cacls c:\abc /e /r everyone 可撤销everyone的权限
作者: yoloj    时间: 2015-8-20 21:40

回复 2# flyinnet9


    win7下是不是要用icacls ?
作者: DAIC    时间: 2015-8-20 22:59

回复 3# yoloj


    你的Win7没有cacls命令吗
作者: flyinnet9    时间: 2015-8-21 09:30

本帖最后由 flyinnet9 于 2015-8-21 09:56 编辑

运行时关闭所有c:\abc或其子目录的文件夹窗口和cmd窗口
bat文件不要放在c:\abc或其子目录内
任何存在于c:\abc或其子目录中的文件,打开的都要关闭
否则可能提示拒绝访问
  1. cacls c:\abc /t /e /r everyone
  2. cacls c:\abc /t /e /d system
  3. cacls c:\abc /t /e /d administrator
复制代码

作者: yoloj    时间: 2015-8-21 22:45

本帖最后由 yoloj 于 2015-8-21 22:46 编辑
运行时关闭所有c:\abc或其子目录的文件夹窗口和cmd窗口
bat文件不要放在c:\abc或其子目录内
任何存在于c: ...
flyinnet9 发表于 2015-8-21 09:30




这样还是可以访问abc子目录里的文件,,,,不信的话你先在abc下新建一个文本文件" 123.txt",,然后把它的快捷方式放在桌面上,,然后你运行你的这个批处理后再试一下,桌面上的快捷方式还是可以访问该文本文件"123.txt"。。。
作者: /zhqsystem/zhq    时间: 2015-8-21 22:52

本帖最后由 /zhqsystem/zhq 于 2015-8-21 22:54 编辑
  1. icacls "路径文件夹的完整路径" /deny "everyone":f /t /c
  2. icacls "路径文件夹的完整路径" /grant "system":r /t /c
  3. icacls "路径文件夹的完整路径" /grant "administrator":r /t /c
复制代码
注意:当文件夹没有修改权限时所有都会失败,配合还原所有权更好
作者: yoloj    时间: 2015-8-21 23:00

注意:当文件夹没有修改权限时所有都会失败,配合还原所有权更好
/zhqsystem/zhq 发表于 2015-8-21 22:52



    这样还是可以访问abc子目录里的文件,,,,不信的话你先在abc下新建一个文本文件" 123.txt",,然后把它的快捷方式放在桌面上,,然后你运行你的这个批处理后再试一下,桌面上的快捷方式还是可以访问该文本文件"123.txt"。。。
作者: /zhqsystem/zhq    时间: 2015-8-21 23:25

本帖最后由 /zhqsystem/zhq 于 2015-8-21 23:52 编辑

回复 8# yoloj
  1. icacls "文件夹的路径\*" /deny "system":f
  2. icacls "文件夹的路径\*" /deny "administrator":f
  3. icacls "文件夹的路径\*" /deny "administrators":f
  4. icacls "文件夹的路径" /deny "system":f
  5. icacls "文件夹的路径" /deny "administrator":f
  6. icacls "文件夹的路径" /deny "administrators":f
复制代码

还是用这个吧,比较省时间
作者: flyinnet9    时间: 2015-8-22 16:10

本帖最后由 flyinnet9 于 2015-8-22 16:21 编辑

回复 6# yoloj


123.txt还可以继续访问的原因是你使用了administrator账号登录来运行批处理
以c:\abc\123.txt为例
calcs(icacls)运行的逻辑是:
1.先拒绝c:\abc目录的权限
2.然后拒绝c:\abc\123.txt的权限
但是此时(1)运行成功后,administrator账号已不具备访问c:\abc的权限,所以修改c:\abc\123.txt文件权限失败

请使用其他有权限的账号登录,然后运行bat,
或使用非administrator账号测试,然后登录该账号检测结果

或者使用楼上的方法,多写几句,先授权文件,然后授权文件夹
作者: yoloj    时间: 2015-8-24 21:20

回复  yoloj


123.txt还可以继续访问的原因是你使用了administrator账号登录来运行批处理
以c:\abc\ ...
flyinnet9 发表于 2015-8-22 16:10



  和administrator账号登录运行无关,,况且我也不是用administrator账号登录。。。
我的意思是怎样运用icacsl让文件夹的权限自动传承给其下层目录及所有文件。。。
作者: flyinnet9    时间: 2015-8-24 23:16

回复 11# yoloj


    icacls /?不会用么

/inheritance:e|d|r
        e - 启用继承
        d - 禁用继承并复制 ACE
        r - 删除所有继承的 ACE
/T 指示在以该名称指定的目录下的所有匹配文件/目录上
        执行此操作。
作者: yoloj    时间: 2015-8-25 11:15

回复  yoloj


    icacls /?不会用么

/inheritance:e|d|r
        e - 启用继承
        d - 禁用 ...
flyinnet9 发表于 2015-8-24 23:16



    你试试,看可不可以向下传承权限。。反正我用了无法向下传承权限
作者: flyinnet9    时间: 2015-8-25 12:04

回复 13# yoloj


    我测了没问题
作者: wnsdt    时间: 2016-12-12 09:34

回复 4# DAIC


     能用icacls不要用cacls,不知道你有没有尝试过,用cacls处理过的文件夹,在其中新创建子文件夹,然后打开子文件夹属性-安全,会弹出“权限顺序错误,需要重新排序”的提示,只有重新排序否则该子文件夹权限绝大多数会被删除。icacls没这个问题,因为支持权限的继承参数(oi)(ci),但是XP不支持icacls。
作者: qxlovexcx    时间: 2016-12-12 10:41

用takeown配合icacls 你会发现非常简单




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2