【问题标题】:Need clarity on _SID_AND_ATTRIBUTES_HASH需要明确 _SID_AND_ATTRIBUTES_HASH
【发布时间】:2021-11-10 13:05:29
【问题描述】:

根据https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-sid_and_attributes_hash

typedef struct _SID_AND_ATTRIBUTES_HASH {
   DWORD               SidCount;
   PSID_AND_ATTRIBUTES SidAttr;
   SID_HASH_ENTRY      Hash[SID_HASH_SIZE];
} SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH;

这有一个由SID_AND_ATTRIBUTES 组成的数组,其中有SidCount 个SID。当 Windows 用户只能有一个 SID 时,为什么结构中存在多个 SID?数组中哪一个是用户的正确 SID?

【问题讨论】:

    标签: winapi driver


    【解决方案1】:

    SID_AND_ATTRIBUTES structure 表示安全标识符 (SID) 及其属性。

    安全标识符 (SID) 用于唯一标识安全主体或安全组。安全标识符是二进制格式的数据结构,包含可变数量的值。结构中的第一个值包含有关 SID 结构的信息。

    更多细节,我建议你可以参考文档:Security identifiers

    【讨论】:

    • 没有回答我的问题。
    • >>当一个 Windows 用户只能有一个 SID 时,为什么结构中存在多个 SID?我建议您可以参考 Doc:docs.microsoft.com/en-us/windows/security/identity-protection/… 如果对象是从另一个域移动的,则包含用于该对象的先前 SID。每当一个对象从一个域移动到另一个域时,都会创建一个新的 SID,并且该新 SID 将成为 objectSID。前一个 SID 被添加到 sIDHistory 属性中。
    猜你喜欢
    • 1970-01-01
    • 2022-09-23
    • 2019-07-11
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    相关资源
    最近更新 更多