五:安全描述符的构造 一个安全描述符包含了四个部分: 1:用户标识(Owner identifier)。 2:主组标识(primary group identifier)。 3:SACL(system access control list),跟“审计”信息有关。 4:DACL(discretionary access control list),用户权限列表。
DACL,是系统对象的“锁”的重点。它决定了哪些用户可以访问该对象而哪些不能。它其实是一张列表(Access control list),开列了一些条目(Access control entries),单个这样的条目,简称为ACE。每个ACE,都包含着单个用户ID或组ID,以及早就分配给这个用户或组的权限。比如说,如果某个对象是文件,并且用户“Smith”已经被允许读取这个文件,这个文件就会有一个Security descriptor,该security Descriptor里有DACL,DACL有一个ACE,这个ACE指示用户“Smith”拥有读取该文件的权限。 SACL,也包含了一些ACE。但是和DACL的ACE不一样,它们只决定谁将被监视,为什么被监视。它们被称作(audit-access ACE)。 ACE,由三部分组成:SID,访问掩码(Access Mask),ACE头(ACE head)。SID,是专门用来独一无二地标识系统里的那些用户和组的标识符,一般存放在注册表里。ACE头,决定了ACE的类型是ALLOWED类型还是DENIED类型。访问掩码,是一个32位的掩码,决定了用户的访问权限。