线程与安全对象之间的交互

当线程尝试使用 安全对象时,系统会在允许线程继续之前执行访问检查。 在访问检查中,系统将线程 访问令牌中的安全信息与对象的 安全描述符中的安全信息进行比较

系统检查对象的 DACL,查找适用于线程访问令牌中的用户和组 SID 的 ACE。 系统会检查每个 ACE,直到授予或拒绝访问,或直到不再有 ACE 进行检查。 可想而知,访问控制列表(ACL)可以有多个适用于令牌的 SID 的 ACE。 如果发生这种情况,则每个 ACE 授予的访问权限会累积。 例如,如果一个 ACE 授予对组的读取访问权限,而另一个 ACE 授予对属于组成员的用户的写入访问权限,则用户可以同时具有对该对象的读取和写入访问权限。

下图显示了这些安全信息块之间的关系:

进程、aces 和 dacls 之间的关系