访问控制:理解 Windows 文件和注册表权限
2008-12-01 12:55:53 来源:WEB开发网核心提示: 现在我们有必要看看安全描述符的实际内容,下面是 Windows Server 2008 系统驱动器根目录的安全描述符(请注意 cacls 是用于检查和设置 ACL 的早期命令行例程,访问控制:理解 Windows 文件和注册表权限(5),现已由 icacls 代替,遗憾的是,也可以是连续的
现在我们有必要看看安全描述符的实际内容。下面是 Windows Server 2008 系统驱动器根目录的安全描述符(请注意 cacls 是用于检查和设置 ACL 的早期命令行例程,现已由 icacls 代替。遗憾的是,icacls 不支持使用命令行开关输出以标准安全描述符定义语言 (SDDL) 表示的结果,在 cacls 中该开关为 /S 标志):
C:>cacls c:/ /s
c:"D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1200a9;;;BU)(A;CI;LC;;;BU)(A;CIIO;DC;;;BU)(A;OICIIO;GA;;;CO)"
根据我们已经了解的有关安全描述符的知识,您可以从开头的“D:”看出尚未声明所有者关系或组成员关系,而且该描述符是 DACL。该 DACL 是受保护的:已经设置了“P”和 Windows NT 5.0 继承标记。随后是一组需要进行解释的 ace_strings。
理解安全描述符 string_aces
回想一下前面讲述的 string_aces 格式。图 5 中定义了有效的 ace_types,图 6 中定义了有效的 ace_flags。用于继承的 ace_flags 是 ACE 继承的决定因素。
图 5 有效的 ace_types
图 6 有效的 ace_flags
ACE 权利由字符串表明,该字符串指出 ACE 控制的访问权利。它可以是访问权利的十六进制字符串表示(例如“0x7800003F”),也可以是连续的 Rights 字符串(例如“CCLCSWLOCRRC”),稍后我将介绍后面这种格式。十六进制表示及其各个数位的值如 图 7 所示。
更多精彩
赞助商链接