详细讲解一下windows上的ACE安全描述符字符串格式
时间: 2024-01-01 12:06:36 浏览: 183
ACE(Access Control Entry)是Windows中用于定义访问控制列表(ACL)的一种结构。ACE描述了一个安全主体对一个对象的访问权限,包括对对象的读取、写入、执行、删除等操作。ACE中包含了一个SID(Security Identifier)和一些访问权限掩码。
安全描述符字符串格式用于表示访问控制列表中的ACE结构,其格式如下:
```
S:(flags;type;SID)(permissions)(objectGUID)(inheritGUID)(accountSID)
```
其中:
- S:表示安全描述符字符串的起始标识符。
- flags:表示ACE的属性,包括CONTAINER_INHERIT、OBJECT_INHERIT、NO_PROPAGATE_INHERIT等。
- type:表示ACE的类型,包括ACCESS_ALLOWED、ACCESS_DENIED、SYSTEM_AUDIT、SYSTEM_ALARM等。
- SID:表示ACE所适用的安全主体的SID。
- permissions:表示访问权限掩码,包括READ_CONTROL、WRITE_DAC、WRITE_OWNER、DELETE、GENERIC_READ、GENERIC_WRITE、GENERIC_EXECUTE等。
- objectGUID:表示ACE所适用的对象的GUID。
- inheritGUID:表示从父对象继承的ACE的GUID。
- accountSID:表示ACE所适用的安全主体的账户SID。
例如,一个允许管理员对某个文件夹进行完全控制的ACE的安全描述符字符串格式为:
```
S:(AU;CIIO;GA;;;BA)
```
其中,flags表示CONTAINER_INHERIT、INHERIT_ONLY、OBJECT_INHERIT,type表示ACCESS_ALLOWED,SID表示管理员的SID,permissions表示FULL_CONTROL。