建立命名空间安全继承机制

可以控制子命名空间是否继承父命名空间的安全描述符。

WMI 命名空间具有安全描述符,用于控制谁可以访问命名空间和命名空间的数据。 每个安全描述符都有一个自由访问控制列表(DACL)和安全访问控制列表(SACL)。 这些列表包含访问控制条目(ACE)。

根据设置的 命名空间 ACE 标志常量 ,应用于命名空间的权限可由该命名空间的所有子命名空间继承。 当在父命名空间的安全描述符中包含CONTAINER_INHERIT_ACE标志时,子命名空间在创建时会继承其父命名空间的安全描述符。 如果设置了 CONTAINER_INHERIT_ACE|NO_PROPOGATE_INHERIT_ACE ,则只有子命名空间继承安全描述符,而不是孙命名空间。 子命名空间可以通过调用 __SystemSecurity 类的方法来重写其父级的安全权限,以编写新的安全描述符。 无法更改默认安全设置。 有关详细信息,请参阅 设置命名空间安全描述符。有关 DACL 的详细信息,请参阅 访问控制列表(ACL)命名空间 ACE 类型常量

请注意,无法更改默认权限。 此外,在设置安全描述符(SD)时设置 SE_DACL_PROTECTED 标志不用于向子命名空间添加专用 SD。 若要重写继承的 SD,只需设置一个新 SD 即可。 若要将该 SD 继承到子命名空间,请传递命名空间安全描述符中的 CONTAINER_INHERIT_ACE 标志。 要只继承给子级,而不是后代,请通过 CONTAINER_INHERIT_ACE|NO_PROPOGATE_INHERIT_ACE

.

设置命名空间安全描述符

__SystemSecurity