[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

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

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

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

TOP

回复 4# DAIC


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

TOP

回复 13# yoloj


    我测了没问题

TOP

回复  yoloj


    icacls /?不会用么

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



    你试试,看可不可以向下传承权限。。反正我用了无法向下传承权限

TOP

回复 11# yoloj


    icacls /?不会用么

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

TOP

回复  yoloj


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



  和administrator账号登录运行无关,,况且我也不是用administrator账号登录。。。
我的意思是怎样运用icacsl让文件夹的权限自动传承给其下层目录及所有文件。。。

TOP

本帖最后由 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账号测试,然后登录该账号检测结果

或者使用楼上的方法,多写几句,先授权文件,然后授权文件夹

TOP

本帖最后由 /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
复制代码

还是用这个吧,比较省时间

TOP

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



    这样还是可以访问abc子目录里的文件,,,,不信的话你先在abc下新建一个文本文件" 123.txt",,然后把它的快捷方式放在桌面上,,然后你运行你的这个批处理后再试一下,桌面上的快捷方式还是可以访问该文本文件"123.txt"。。。

TOP

本帖最后由 /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
复制代码
注意:当文件夹没有修改权限时所有都会失败,配合还原所有权更好

TOP

本帖最后由 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"。。。

TOP

本帖最后由 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
复制代码

TOP

回复 3# yoloj


    你的Win7没有cacls命令吗

TOP

回复 2# flyinnet9


    win7下是不是要用icacls ?

TOP

返回列表