使用icacls递归修改NTFS权限需带/t参数、路径加英文双引号、合理设置继承标记(OI)(CI)及权限标识,并添加/c跳过拒绝访问错误,修改前应先用icacls /t /c查看和备份当前ACL。
用 icacls 递归修改 windows server 中深层目录的 ntfs 权限,核心是加 /t 参数并配合正确的权限标识和路径处理。操作本身不复杂,但路径、继承控制和错误容错这几个环节容易出错。
必须带 /t 并处理好路径格式
递归作用于所有子目录和文件,/t 是强制项,缺了就只改顶层文件夹。路径中只要含空格、中文或特殊符号,就必须用英文双引号包裹,否则命令直接报错或只处理到第一个空格前:
-
正确写法:
icacls "D:\Project Files\2026" /grant "Finance:(RX)" /t -
错误写法(无引号):
icacls D:\Project Files\2026 /grant Finance:(RX) /t→ 只处理D:\Project,后面被截断
权限组合要匹配实际需求
深层目录常需保持结构一致性,不能只给“完全控制”或“读取”。推荐按用途选组合,并注意继承标记:
- 让子项继承新权限(推荐):
/grant "Admins:(OI)(CI)F((OI)= 对象继承,(CI)= 容器继承,F= 完全控制) - 仅授权读取+执行,禁止删除:
/grant "Users:(OI)(CI)(RX) - 限制写入但允许追加日志:
/grant "AppService:(OI)(CI)(W,AD)(W= 写入数据,AD= 追加数据/添加子目录)
跳过访问拒绝错误,避免中途中断
深层目录里常有系统保护项(如 System Volume Information 或 TrustedInstaller 所有者),默认会报“拒绝访问”并停住。加 /c 可跳过这些项继续执行,同时保留错误提示供事后检查:
icacls "E:\Data" /grant "BackupSvc:(RX)" /t /c- 如果还想静默运行(不显示成功信息),再加 /q:
/t /c /q
修改前先看当前权限结构
别盲目执行。先用以下命令快速摸底,确认是否已启用继承、哪些组已有显式权限、有没有异常拒绝项:
- 查顶层 + 继承状态:
icacls "E:\Data" - 查整个树(跳过错误):
icacls "E:\Data" /t /c - 导出当前 ACL 备份(建议每改一次前都做):
icacls "E:\Data" /save acl_before.txt /t


















