基础知识
权限与句柄相关联,并传达对关联的句柄或与句柄相关联的对象执行操作的权限。
<zircon/rights.h>
标头定义了每种对象类型的默认权限,而默认权限可通过 zx_handle_replace()
或 zx_handle_duplicate()
缩小。
正确 | 授予的权限 |
---|---|
ZX_RIGHT_DUPLICATE | 允许通过 zx_handle_duplicate() 复制句柄 |
ZX_RIGHT_TRANSFER | 允许通过 zx_channel_write() 转移标识名 |
ZX_RIGHT_READ | 允许从容器(通道、套接字、虚拟机对象等)中读取数据 |
如果还存在 ZX_RIGHT_MAP,则允许映射为可读 | |
To BE REMOVED 允许检查对象状态 | |
ZX_RIGHT_WRITE | 允许将数据写入容器(通道、套接字、虚拟机对象等) |
如果也存在 ZX_RIGHT_MAP,则允许映射为可写 | |
TO BE REMOVED 允许修改对象状态 | |
ZX_RIGHT_EXECUTE | 如果也存在 ZX_RIGHT_MAP,则允许映射为可执行文件 |
ZX_RIGHT_MAP | 允许将虚拟机对象映射到地址空间。 |
ZX_RIGHT_GET_PROPERTY | 允许通过 zx_object_get_property() 检查属性 |
ZX_RIGHT_SET_PROPERTY | 允许通过 zx_object_set_property() 修改属性 |
ZX_RIGHT_ENUMERATE | 允许通过 zx_object_get_info() 和 zx_object_get_child() 枚举子对象 |
ZX_RIGHT_DESTROY | 允许通过 zx_task_kill() 终止任务对象 |
ZX_RIGHT_SET_POLICY | 允许通过 zx_job_set_policy() 修改政策 |
ZX_RIGHT_GET_POLICY | 允许政策检查 |
ZX_RIGHT_SIGNAL | 允许使用 zx_object_signal() |
ZX_RIGHT_SIGNAL_PEER | 允许使用 zx_object_signal_peer() |
ZX_RIGHT_WAIT | 允许使用 zx_object_wait_one() 、zx_object_wait_many() 和其他等待基元 |
ZX_RIGHT_INSPECT | 允许通过 zx_object_get_info() 进行检查 |
ZX_RIGHT_MANAGE_JOB | 未实现允许创建进程、子作业等。 |
ZX_RIGHT_MANAGE_PROCESS | NOT IMPLEMENTED:允许创建线程等。 |
ZX_RIGHT_MANAGE_THREAD | NOT IMPLEMENTED:允许挂起/恢复线程等。 |
ZX_RIGHT_APPLY_PROFILE | 允许通过 zx_object_set_profile() 将时间安排配置文件应用于会话 |
ZX_RIGHT_MANAGE_SOCKET | 允许通过 zx_socket_set_disposition() 更改套接字处置方式 |
ZX_RIGHT_OP_CHILDREN | 允许对父对象执行的操作同时修改子对象 |
ZX_RIGHT_RESIZE | 如果也存在 ZX_RIGHT_WRITE,则允许调整虚拟机对象的大小 |
ZX_RIGHT_ATTACH_VMO | 允许将虚拟机对象挂接和分离到分页器 |
ZX_RIGHT_MANAGE_VMO | 允许管理分页器拥有的虚拟机对象的内容和元数据 |
ZX_RIGHTS_BASIC
基本权限允许对句柄进行原始操作,默认情况下,大多数句柄类型都很常见。分别是 ZX_RIGHT_DUPLICATE、ZX_RIGHT_TRANSFER、ZX_RIGHT_WAIT 和 ZX_RIGHT_INSPECT。
这四种权利在一起使用时称为 ZX_RIGHTS_BASIC。