返回介绍

(二)ACE 字符串

发布于 2022-11-26 10:40:51 字数 9175 浏览 0 评论 0 收藏 0

ACE字符串

安全描述符定义语言(SDDL)在安全描述符字符串的DACL和SACL组件中使用ACE字符串。 如“安全描述符字符串格式”示例所示,安全描述符字符串中的每个ACE都用括号括起来。 ACE的字段按以下顺序排列,并用分号(;)分隔

语法:ace_type;ace_flags;rights;object_guid;inherit_object_guid;account_sid;(resource_attribute)

范围:

ace_type:ACE的类型

一个字符串,指示ACE_HEADER结构的AceType成员的值。 ACE类型字符串可以是Sddl.h中定义的以下字符串之一。

ACE 类型字符串Sddl.h中的常量Ace类型的值
"A"SDDL_ACCESS_ALLOWEDACCESS_ALLOWED_ACE_TYPE
"D"SDDL_ACCESS_DENIEDACCESS_DENIED_ACE_TYPE
"OA"SDDL_OBJECT_ACCESS_ALLOWEDACCESS_ALLOWED_OBJECT_ACE_TYPE
"OD"SDDL_OBJECT_ACCESS_DENIEDACCESS_DENIED_OBJECT_ACE_TYPE
"AU"SDDL_AUDITSYSTEM_AUDIT_ACE_TYPE
"AL"SDDL_ALARMSYSTEM_ALARM_ACE_TYPE
"OU"SDDL_OBJECT_AUDITSYSTEM_AUDIT_OBJECT_ACE_TYPE
"OL"SDDL_OBJECT_ALARMSYSTEM_ALARM_OBJECT_ACE_TYPE
"ML"SDDL_MANDATORY_LABELSYSTEM_MANDATORY_LABEL_ACE_TYPE
"XA"SDDL_CALLBACK_ACCESS_ALLOWEDACCESS_ALLOWED_CALLBACK_ACE_TYPEWindows Vista and Windows Server 2003: Not available.
"XD"SDDL_CALLBACK_ACCESS_DENIEDACCESS_DENIED_CALLBACK_ACE_TYPEWindows Vista and Windows Server 2003: Not available.
"RA"SDDL_RESOURCE_ATTRIBUTESYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPEWindows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003: Not available.
"SP"SDDL_SCOPED_POLICY_IDSYSTEM_SCOPED_POLICY_ID_ACE_TYPEWindows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003: Not available.
"XU"SDDL_CALLBACK_AUDITSYSTEM_AUDIT_CALLBACK_ACE_TYPEWindows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003: Not available.
"ZA"SDDL_CALLBACK_OBJECT_ACCESS_ALLOWEDACCESS_ALLOWED_CALLBACK_ACE_TYPEWindows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003: Not available.

ace_flags标志位

一个字符串,指示ACE_HEADER结构的AceFlags成员的值。 ACE标志字符串可以是Sddl.h中定义的以下字符串的串联。

ACE 标志字符串Sddl.h中的常量Ace标志值
"CI"SDDL_CONTAINER_INHERITCONTAINER_INHERIT_ACE
"OI"SDDL_OBJECT_INHERITOBJECT_INHERIT_ACE
"NP"SDDL_NO_PROPAGATENO_PROPAGATE_INHERIT_ACE
"IO"SDDL_INHERIT_ONLYINHERIT_ONLY_ACE
"ID"SDDL_INHERITEDINHERITED_ACE
"SA"SDDL_AUDIT_SUCCESSSUCCESSFUL_ACCESS_ACE_FLAG
"FA"SDDL_AUDIT_FAILUREFAILED_ACCESS_ACE_FLAG

一个字符串,指示ACE_HEADER结构的AceFlags成员的值。 ACE标志字符串可以是Sddl.h中定义的以下字符串的串联。

rights:权限

一个字符串,指示由ACE控制的访问权限。该字符串可以是访问权限的十六进制字符串表示形式,例如“ 0x7800003F”,也可以是以下字符串的串联形式。

通用访问权限

访问权限字符串Sddl.h中的常量访问权限值
"GA"SDDL_GENERIC_ALLGENERIC_ALL
"GR"SDDL_GENERIC_READGENERIC_READ
"GW"SDDL_GENERIC_WRITEGENERIC_WRITE
"GX"SDDL_GENERIC_EXECUTEGENERIC_EXECUTE

标准访问权限

访问权限字符串Sddl.h中的常量访问权限值
"RC"SDDL_READ_CONTROLREAD_CONTROL
"SD"SDDL_STANDARD_DELETEDELETE
"WD"SDDL_WRITE_DACWRITE_DAC
"WO"SDDL_WRITE_OWNERWRITE_OWNER

目录服务对象访问权限

访问权限字符串Sddl.h中的常量访问权限值
"RP"SDDL_READ_PROPERTYADS_RIGHT_DS_READ_PROP
"WP"SDDL_WRITE_PROPERTYADS_RIGHT_DS_WRITE_PROP
"CC"SDDL_CREATE_CHILDADS_RIGHT_DS_CREATE_CHILD
"DC"SDDL_DELETE_CHILDADS_RIGHT_DS_DELETE_CHILD
"LC"SDDL_LIST_CHILDRENADS_RIGHT_ACTRL_DS_LIST
"SW"SDDL_SELF_WRITEADS_RIGHT_DS_SELF
"LO"SDDL_LIST_OBJECTADS_RIGHT_DS_LIST_OBJECT
"DT"SDDL_DELETE_TREEADS_RIGHT_DS_DELETE_TREE
"CR"SDDL_CONTROL_ACCESSADS_RIGHT_DS_CONTROL_ACCESS

档案存取权

访问权限字符串Sddl.h中的值访问权限值
"FA"SDDL_FILE_ALLFILE_ALL_ACCESS
"FR"SDDL_FILE_READFILE_GENERIC_READ
"FW"SDDL_FILE_WRITEFILE_GENERIC_WRITE
"FX"SDDL_FILE_EXECUTEFILE_GENERIC_EXECUTE

注册表项访问权限

访问权限字符串Sddl.h中的常量访问权限值
"KA"SDDL_KEY_ALLKEY_ALL_ACCESS
"KR"SDDL_KEY_READKEY_READ
"KW"SDDL_KEY_WRITEKEY_WRITE
"KX"SDDL_KEY_EXECUTEKEY_EXECUTE

强制性标签权利

访问权限字符串Sddl.h中的值访问权限值
"NR"SDDL_NO_READ_UPSYSTEM_MANDATORY_LABEL_NO_READ_UP
"NW"SDDL_NO_WRITE_UPSYSTEM_MANDATORY_LABEL_NO_WRITE_UP
"NX"SDDL_NO_EXECUTE_UPSYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP

object_guid

GUID的字符串表示形式,它表示特定于对象的ACE结构(例如ACCESS_ALLOWED_OBJECT_ACE)的ObjectType成员的值。 GUID字符串使用UuidToString函数返回的格式。

下表列出了一些常用的对象GUID。

Rights and GUIDPermission
CR;ab721a53-1e2f-11d0-9819-00aa0040529bChange password
CR;00299570-246d-11d0-a768-00aa006e0529Reset password

inherit_object_guid

GUID的字符串表示形式,它指示特定于对象的ACE结构的InheritedObjectType成员的值。 GUID字符串使用UuidToString格式。

account_sid

标识ACE受托者的SID字符串。

resource_attribute

可选: resource_attribute仅用于资源ACE,并且是可选的。指示数据类型的字符串。资源属性ace数据类型可以是Sddl.h中定义的以下数据类型之一。

资源属性中的“#”符号与“ 0”同义。例如,D:AI(XA;OICI;FA;;;WD;(OctetStringType==#1#2#3##)) 等同于D:AI(XA;OICI;FA;;;WD;(OctetStringType==#01020300)).

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista and Windows Server 2003: 资源属性不可用

ace类型字符串资源属性Sddl.h中的常量数据类型
"TI"SDDL_INTSigned integer
"TU"SDDL_UINTUnsigned integer
"TS"SDDL_WSTRINGWide string
"TD"SDDL_SIDSID
"TX"SDDL_BLOBOctet string
"TB"SDDL_BOOLEANBoolean

以下示例显示了允许访问的ACE的ACE字符串。它不是特定于对象的ACE,因此在object_guidInherited_object_guid字段中没有任何信息。 ace_flags字段也为空,表示未设置任何ACE标志。

(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-1-0)

上面显示的ACE字符串描述了以下ACE信息。

AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceFlags: 0x00
Access Mask: 0x100e003f
READ_CONTROL
WRITE_DAC
WRITE_OWNER
GENERIC_ALL
Other access rights(0x0000003f)
Ace Sid : (S-1-1-0)

下面的示例显示了一个文件,该文件使用Windows的资源声明和“结构化查询语言(SQL)”将“保密性”设置为“高业务影响”。

(RA;CI;;;;S-1-1-0; ("Project",TS,0,"Windows","SQL"))
(RA;CI;;;;S-1-1-0; ("Secrecy",TU,0,3))

上面显示的ACE字符串描述了以下ACE信息。

AceType: 0x12 (SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE)
AceFlags: 0x1 (SDDL_CONTAINER_INHERIT)
Access Mask: 0x0
Ace Sid : (S-1-1-0)
Resource Attributes: Project has the strings Windows and SQL, Secrecy has the unsigned int value of 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击“接受”或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文