每个对象都有一个 安全描述符,其中包含对象的安全设置。 在内核模式下,不透明 SECURITY_DESCRIPTOR 数据类型表示安全描述符。
安全描述符中的信息存储在 访问控制列表中 (ACL)。 访问控制列表由一系列 访问控制条目 (ACE)组成。
安全描述符有两个单独的 ACL:
系统 ACL(SACL),用于确定记录对象上的哪些操作。
自主访问控制列表(DACL),它确定哪些用户可以对对象执行特定操作。
通常,驱动程序开发人员仅关注可自由裁量 ACL。 有关系统 ACL 的详细信息,请参阅 Microsoft Windows SDK。
对于任意 ACL,每个 ACE 都包含三条信息:
安全标识符(SID)。 安全标识符确定 ACE 应用于的对象。 SID 可以表示单个用户或一组用户。 例如,World SID 表示所有用户集。
一组访问权限。 有关访问权限的说明,请参阅 “访问权限”。
是否授予或拒绝访问权限集。
对于驱动程序,最重要的安全描述符是驱动程序的设备对象。 有关详细信息,请参阅保护设备对象。
有关安全描述符的详细信息,请参阅 Windows SDK。