天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧软件 >> 正文

理解Windows文件和注册表权限

2009-2-5不详佚名

  回想一下前面讲述的 string_aces 格式。图5 中定义了有效的 ace_types,图6 中定义了有效的 ace_flags。用于继承的 ace_flags 是 ACE 继承的决定因素。

 

   

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig05.gif

图5 有效的 ace_types

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig06.gif

图6 有效的 ace_flags

    
    ACE 权利由字符串表明,该字符串指出 ACE 控制的访问权利。它可以是访问权利的十六进制字符串表示(例如“0x7800003F”),也可以是连续的 Rights 字符串(例如“CCLCSWLOCRRC”),稍后我将介绍后面这种格式。十六进制表示及其各个数位的值如图7所示。

 

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig07.gif

图7 ACL 访问掩码

    
    系统对所有对象使用一种 ACE 权利位图表示。对不同的对象来说,并不是所有的位都有意义。只应用那些适用于某个对象的权利。标准权利是对所有安全对象都通用的权限。泛型权利是为各种对象指定相似类型权利的简便方法。泛型权利的规范映射为一组适当的具体权限集合。当指定 SACL 时,完整性标签也将使用 ACE 权利字段进行编码。图8 中列出了各种对象的可用权利。

 

   

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig08.gif

图8 泛型权利

    
    有许多大致等同的权利映射在使用时并无区别。完全控制 (FC) 等同于 Generic_All (GA)。对于文件系统,File All (FA) 是适用的完全控制声明。Key All (KA) 是适用于注册表的完全控制声明。泛型声明常用于更适合声明的地方,但会根据需要映射为适当的文件系统或注册表项声明。SDDL 表达式常常混合这些术语,因此您需要了解等同的术语。     标准权利和特定权利

  许多对象都可以分配权利。除文件和目录外,还有注册表项、进程、桌面等。要查看完整的列表,请参阅图 A 到图 J。我们将会讨论文件系统和注册表的权限,图9和图10中提供了这些对象的特定权利。

 

   

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig09.gif

图9 特定文件权利

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig10.gif

图10 特定注册表权利

    
    完整性标签及其用法

  前面提到过,如果存在完整性标签,则它将存储在对象的 SACL 中。对象隐含具有中级完整性,因此如果某个对象没有完整性标签,则它将具备中级完整性。同样地,如果安全令牌没有完整性标签,则它也将具备中级完整性。低级完整性标签用于标记低权利进程,例如低权利 Internet Explorer 及相关的非受信对象。“高级”和“系统”级别用于帮助将这些对象从中级和低级进程和对象中隔离出来。完整性标签如图11所示。

 

  

\\msdnmagtst\MTPS\MSDN\issues\en\08\11\Michener - WinPermissions.1108\FIGURES\fig11.gif

图11 完整性标签

    
    Object_guid 和 inherit_object_guid

  Object_guid 和 inherit_object_guid 用于指定 Active Directory 中对象的安全性。不会使用它们来保护文件系统和注册表安全。ACE 字符串内 ace_type 字段中的“OA”和“OD”分别对应于对象允许和对象拒绝 ACE。在本例中,object_guid 持有正在请求权限的对象的 guid,而 inherit_object_guid 持有它所继承权限的那个对象的 guid。

  ACE 结构中的 account_sid 字段代表将授予或拒绝 ACE 中所指定访问权利的安全主体。account_sid 字段可能持有某个 SID,它可能是对用户基本无用的长结构标识符,或者是某个通用帐户的简写“SID 字符串”标记。只要有利于增加系统的可读性,就可以使用通用帐户的 SID 字符串标记。通用或公认帐户及其 SID 字符串表如图 J 所示。

  “所有者权利”的 OW 声明是 Windows Server 2008 和 Windows Vista 中新增的声明。在以前版本中,对象的创建者/所有者 (CO) 具有读控制 (RC) 标准权限和对该对象的 Write_DAC (WD) 权限,以便所有者能够设置该对象的安全性。如果用户是某个组的成员并创建了大量对象,这种方法会出现问题。如果该用户离开该组,他可能仍然会拥有对这些对象的控制,因为他是这些对象的所有者,所以可以获得这些对象的 RC 和 Write_DAC 权限。对 OW 所有者的 ACE 限制可以防止向所有者隐性授予 RC/WD 权限,除非在 ACL 中向任何其它相关 ACE 的所有者 ACE 显式授予这些权限。这种方法可以抑制以前版本中的安全隐患。 9 7 3 1 2 3 4 5 6 7 4 8 :

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行