icacls批量修改ntfs权限的核心是精准控制“谁对哪个路径拥有什么权限”,支持递归、跳过错误、静默执行,适用于系统维护和批量部署。
用 icacls 批量修改 ntfs 权限,核心是精准控制“谁对哪个路径拥有什么权限”,支持递归、跳过错误、静默执行,不依赖图形界面,适合系统维护和批量部署。
一、先查看当前权限结构
确认起点再操作,避免误改:
- 查看单个文件夹基础权限:
icacls "C:\MyFolder" - 递归查看全部子项(跳过无权访问项):
icacls "C:\MyFolder" /t /c - 输出结果中,(F) 表示完全控制,(R) 是只读,(M) 是修改,(RX) 是读取+执行
二、批量授予指定用户/组权限
这是最常用场景,比如让当前用户或 Administrators 组获得完全控制:
- 给当前用户递归授完全控制:
icacls "C:\Data" /grant %username%:(OI)(CI)F /t /c /q - 给 Administrators 组授完全控制(更通用):
icacls "C:\Backup" /grant administrators:F /t /c /q - 仅授读写(不含删除和执行):
icacls "C:\Shared" /grant Users:(OI)(CI)(R,W) /t /c /q
说明:(OI) 表示对象继承(作用于文件),(CI) 表示容器继承(作用于子文件夹),合起来确保权限落到所有层级。
三、批量重置为系统默认继承权限
当手动设置导致混乱,想“一键清空自定义权限、回归原始状态”时用:
- 仅重置目标文件夹本身:
icacls "C:\OldProject" /reset - 递归重置整个目录树(推荐):
icacls "C:\OldProject" /reset /t /c /q - 该操作不改动所有权,只清除显式权限条目,让其重新从父级继承默认ACL
四、批量移除或拒绝某用户权限
适用于清理离职账户、隔离测试用户等安全操作:
- 递归移除某用户所有权限条目:
icacls "C:\Work" /remove "TempUser" /t /c /q - 强制拒绝某用户读取与执行(优先级高于允许):
icacls "C:\Secret" /deny "Guest:(RX)" /t /c /q - 注意:拒绝权限不可被继承覆盖,慎用;移除后不会自动恢复继承,必要时需补上
/inheritance:e
五、备份与还原 ACL(防误操作兜底)
高危操作前务必执行,还原时路径必须严格一致:
- 备份整个目录权限:
icacls "C:\Critical" /save acl_backup.txt /t /c /q - 还原到原路径(不能加子目录):
icacls "C:\Critical" /restore acl_backup.txt /c /q - 备份文件是纯文本,不可编辑;跨卷、跨机、路径不符都会导致还原失败











