要让子目录彻底采用父目录继承权限,需先清空显式权限再启用继承:用icacls /inheritance:e /reset /t /c命令强制恢复继承并删除所有手工ACE;若仅删拒绝项则用/remove:d;最后比对父子权限验证一致性。
要让子目录彻底放弃原有显式权限、统一采用父目录继承来的权限,关键不是“替换”而是“清空+启用继承”。icacls 没有直接叫“替换继承”的参数,但通过组合 /reset 和 /inheritance:e 可以达到等效效果。
很多冲突源于子项手动关闭了继承。运行以下命令检查:
icacls "D:Project" /t /c
输出中若某子文件夹显示 “(OI)(CI)” 缺失 或标注 “Not inherited”,说明它已断开继承,必须先恢复继承能力,再重置权限。
执行这条命令,可同时完成两件事:强制子项重新接受父级继承,并清除所有手工添加的允许/拒绝条目:
icacls "D:Project" /inheritance:e /reset /t /c
有时你只想去掉冲突的 /deny 条目(比如误加的 Everyone:(DENY)),又不想动已有允许权限。这时不能用 /reset,改用:
icacls "D:Project" /remove:d Everyone /t /c
执行完后,用以下命令快速比对父子权限一致性:
icacls "D:Project"
icacls "D:ProjectSubfolder"
两者都应显示相同主体(如 BUILTINAdministrators、NT AUTHORITYSYSTEM)、相同权限标记(如 (OI)(CI)(F))、且无 DENY 行。若仍有差异,大概率是某个子项所有者不是你当前账户——此时需先用 takeown /f "path" /r /d y 获取所有权,再运行 icacls。