如果拒绝读取权限,为什么我无法从文件中删除组,即使我具有来自我帐户的读取权限、是管理员组的一部分,并且我正在从提升的命令提示符运行 icacls?
这将完美地删除“用户”组:
copy a b
icacls b /inheritance:d
icacls b /remove:g "Users"
结果:该文件不再具有“用户”组。
但是如果我删除读取权限,那么 icacls 就无法删除该组:
copy a b
icacls b /inheritance:d
icacls b /deny "Users":r
icacls b /remove:g "Users"
结果:该文件仍然具有“用户”组。
为了解决这个问题,我必须先授予某个群组“完全”权限,然后使用它/remove
来保证该群组将被删除。但这感觉像是一个漏洞,因为某个特定群组将短暂拥有完全访问权限。
答案1
您使用了错误的开关。您需要使用/remove:d
:
icacls b /remove:d "Users"
当某个组的权限被拒绝时,交换机将无权/remove:g
删除该组的任何权限。
或者,删除任何分配给组的权限,无论是授予还是拒绝,使用:
icacls b /remove "Users"
概括
/remove:g
删除以下权利(的确/remove:d
删除以下权利(D)被拒绝/remove
删除所有权利
有关 Icacls 开关的更多信息,请参阅科技网。