kiwidude89 Asked: 2022-08-11 00:28:27 +0800 CST2022-08-11 00:28:27 +0800 CST 2022-08-11 00:28:27 +0800 CST WDAC 和 WO (icacls) 有什么区别? 772 我打算授予“更改权限”(WDAC)权限user。但是,我遇到了这个(WO)代表“取得所有权”的许可。两者有什么区别?user在(WDAC)没有(WO)权限集的情况下仍然可以更改权限吗? permissions icacls 2 个回答 Voted harrymc 2022-08-11T01:04:09+08:002022-08-11T01:04:09+08:00 这是两个非常不同的权限。 WO 动词执行“写所有者”,从而获得对象的所有权。所有者当然拥有包括 write-DAC 权限在内的全部权限。 要更改文件夹的访问列表,需要用户具有写入 DAC 权限 (WRITE_DAC — WDAC)。至少一个用户(对象的所有者)具有修改 DACL 的权限。 因此,是的,具有 write-DAC 权限的用户可以更改大多数权限,而无需成为所有者。 Best Answer user1686 2022-08-11T01:17:39+08:002022-08-11T01:17:39+08:00 两者有什么区别? WO指文件的“所有者”参数,它是与 DACL 条目完全分开的字段(尽管总体上仍然是 ACL 结构的一部分)。它不是指能够编辑“CREATOR OWNER”ACL 条目。 文件的所有者隐含地拥有WDAC权限(但不是完全权限——其他一切都必须通过标准 ACE 授予)。此外,启用磁盘配额后,文件占用的空间将计入其所有者的配额,这也是将文件所有者设置为单独权限的另一个原因。 请注意,拥有WO权限并不意味着WDAC要获得 WDAC,您仍然需要首先将自己设置为所有者。 具有 (WDAC) 权限的用户是否仍然可以在没有 (WO) 权限集的情况下更改权限? 是的,他们可以更改所有 DACL 条目。 附加说明:如果某些东西看起来不应该有效(特别是如果某些 PowerShell cmdlet 允许您执行与文件的 DACL 相反的操作),通常是因为它是通过系统范围的权限完成的。 例如,“取得所有权”不一定通过拥有WO权限来完成 - 它也可以使用所有管理员都拥有的系统范围的 SeTakeOwnership 权限来完成。 管理员还拥有系统范围的 SeBackupPrivilege 和 SeRestorePrivilege;当这些权限被激活时,该进程可以绕过 DACL 进行大多数操作。例如,当您尝试在 PowerShell 中删除某些内容时,它会引发 SeRestorePrivilege 以绕过任何阻止您删除它的 ACL。 再举一个例子,WO权限和 SeTakeOwnershipPrivilege 都不允许您将任意帐户设置为文件的所有者——它们都只允许您为自己声明文件。因此,当您使用 Explorer 的 GUI 或icacls /setowner将其他人设置为新所有者时,这实际上是通过依靠 SeRestorePrivilege 设置任意 ACL 来完成的。
这是两个非常不同的权限。
WO 动词执行“写所有者”,从而获得对象的所有权。所有者当然拥有包括 write-DAC 权限在内的全部权限。
要更改文件夹的访问列表,需要用户具有写入 DAC 权限 (WRITE_DAC — WDAC)。至少一个用户(对象的所有者)具有修改 DACL 的权限。
因此,是的,具有 write-DAC 权限的用户可以更改大多数权限,而无需成为所有者。
WO
指文件的“所有者”参数,它是与 DACL 条目完全分开的字段(尽管总体上仍然是 ACL 结构的一部分)。它不是指能够编辑“CREATOR OWNER”ACL 条目。文件的所有者隐含地拥有
WDAC
权限(但不是完全权限——其他一切都必须通过标准 ACE 授予)。此外,启用磁盘配额后,文件占用的空间将计入其所有者的配额,这也是将文件所有者设置为单独权限的另一个原因。请注意,拥有
WO
权限并不意味着WDAC
要获得 WDAC,您仍然需要首先将自己设置为所有者。是的,他们可以更改所有 DACL 条目。
附加说明:如果某些东西看起来不应该有效(特别是如果某些 PowerShell cmdlet 允许您执行与文件的 DACL 相反的操作),通常是因为它是通过系统范围的权限完成的。
例如,“取得所有权”不一定通过拥有
WO
权限来完成 - 它也可以使用所有管理员都拥有的系统范围的 SeTakeOwnership 权限来完成。管理员还拥有系统范围的 SeBackupPrivilege 和 SeRestorePrivilege;当这些权限被激活时,该进程可以绕过 DACL 进行大多数操作。例如,当您尝试在 PowerShell 中删除某些内容时,它会引发 SeRestorePrivilege 以绕过任何阻止您删除它的 ACL。
再举一个例子,
WO
权限和 SeTakeOwnershipPrivilege 都不允许您将任意帐户设置为文件的所有者——它们都只允许您为自己声明文件。因此,当您使用 Explorer 的 GUI 或icacls /setowner
将其他人设置为新所有者时,这实际上是通过依靠 SeRestorePrivilege 设置任意 ACL 来完成的。