atm工具
Access Token Manager (程序访问控制管理工具,简称atm工具),是用于查询或设置应用进程的权限、使用类型等信息的工具,为开发者提供了根据tokenid、包名、进程名等信息进行访问控制管理的能力。
环境说明
在使用本工具前,开发者需要先获取hdc工具,执行hdc shell。
atm工具命令列表
| 命令 | 描述 |
|---|---|
| help | 帮助命令,显示atm支持的命令信息。 |
| perm | 权限命令,为应用进程授予或取消权限。 |
| toggle | 弹窗开关/权限使用记录开关状态命令,设置或获取权限弹窗/权限使用记录开关状态。 此命令仅在root版本下可用。 |
| dump | 查询命令,用于查询访问控制相关数据信息。 |
帮助命令
# 显示帮助信息
atm help
权限命令
atm perm [-h] [-g -i <token-id> -p <permission-name>] [-c -i <token-id> -p <permission-name>]
权限命令参数列表
| 参数 | 参数说明 |
|---|---|
| -h | 帮助信息。 |
| -g -i <token-id> -p <permission-name> | -g、-i、-p均为必选参数,通过应用进程的tokenid授予指定权限。返回是否成功。 |
| -c -i <token-id> -p <permission-name> | -c、-i、-p均为必选参数,通过应用进程的tokenid取消指定权限。返回是否成功。 |
示例:
# 显示atm perm的帮助信息
atm perm -h
# 为应用进程授予相机权限
atm perm -g -i ********* -p ohos.permission.CAMERA
# 为应用进程取消相机权限
atm perm -c -i ********* -p ohos.permission.CAMERA
弹窗开关状态命令
atm toggle [-h] [-r -s -i <user-id> -p <permission-name> -k <status>] [-r -o -i <user-id> -p <permission-name>]
弹窗开关状态命令参数列表
| 参数 | 参数说明 |
|---|---|
| -h | 帮助信息。 |
| -r -s -i <user-id> -p <permission-name> -k <status> | -r、-s、-i、-p、-k均为必选参数,在指定用户下,设置指定权限的弹窗开关状态为status。返回是否成功。 |
| -r -o -i <user-id> -p <permission-name> | -r、-o、-i、-p均为必选参数,在指定用户下,返回指定权限的弹窗开关状态。 |
示例:
# 显示atm toggle的帮助信息
atm toggle -h
# 设置用户0下相机权限的弹窗开关状态为开启
atm toggle -r -s -i 0 -p ohos.permission.CAMERA -k 1
# 获取用户0下相机权限的弹窗开关状态
atm toggle -r -o -i 0 -p ohos.permission.CAMERA
权限使用记录开关状态命令
atm toggle [-h] [-u -s -i <user-id> -k <status>] [-u -o -i <user-id>]
权限使用记录开关状态命令参数列表
| 参数 | 参数说明 |
|---|---|
| -h | 帮助信息。 |
| -u -s -i <user-id> -k <status> | -u、-s、-i、-k均为必选参数,在指定用户下,设置权限使用记录开关状态为status。返回是否成功。 |
| -u -o -i <user-id> | -u、-o、-i均为必选参数,在指定用户下,返回权限使用记录开关状态。 |
示例:
# 显示atm toggle的帮助信息
atm toggle -h
# 设置用户0下权限使用记录开关状态为开启
atm toggle -u -s -i 0 -k 1
# 获取用户0下权限使用记录开关状态
atm toggle -u -o -i 0
查询命令
atm dump [-h] [-t [-i <token-id>] [-b <bundle-name>] [-n <process-name>]] [-r [-i <token-id>] [-p <permission-name>]] [-v [-i <token-id>] [-p <permission-name>]]
下表所列命令中,-t、-r、-v为必选参数,-i、-b、-n、-p为可选参数。对atm dump -r和atm dump -v命令,-i和-p参数可以组合使用;对atm dump -t命令,-i、-b、-n参数只能单独使用。
| 参数 | 参数说明 |
|---|---|
| -h | 帮助信息。 |
| -t | 必选参数,查询系统中所有应用进程信息。 |
| -t -i <token-id> | 可选参数,通过应用进程的tokenid,查询该应用的基本信息以及对应的权限信息。 |
| -t -b <bundle-name> | 可选参数,通过应用进程的包名bundle-name,查询该应用的基本信息以及对应的权限信息。 |
| -t -n <process-name> | 可选参数,通过应用进程的进程名process-name,查询该应用的基本信息以及对应的权限信息。 |
| -r | 必选参数,查询系统内的所有权限使用记录。 |
| -r -i <token-id> | 可选参数,通过应用进程的tokenid,查询该应用的权限使用记录。 |
| -r -p <permission-name> | 可选参数,通过权限名,查询该权限的使用记录。 |
| -v | 必选参数,查询系统中所有应用进程的权限使用类型。 |
| -v -i <token-id> | 可选参数,通过应用进程的tokenid,查询该应用的权限使用类型。 |
| -v -p <permission-name> | 可选参数,通过权限名,查询该权限的使用类型。 |
示例:
#显示atm dump的帮助信息
atm dump -h
#查询系统中所有应用进程的tokenid和包名
atm dump -t
#按tokenid查询权限信息
atm dump -t -i *********
#按包名查询权限信息
atm dump -t -b ohos.telephony.resources
#按进程名查询权限信息
atm dump -t -n *********
#查询所有应用的权限使用类型
atm dump -v
#按应用tokenid查询权限使用类型
atm dump -v -i *********
#按权限名查询权限使用类型
atm dump -v -p ohos.permission.CAMERA
#按应用tokenid和权限名查询权限使用类型
atm dump -v -i ********* -p ohos.permission.CAMERA
#查询系统内的所有权限使用记录
atm dump -r
#按应用tokenid查询权限使用记录
atm dump -r -i *********
#按权限名查询权限使用记录
atm dump -r -p ohos.permission.CAMERA
#按应用tokenid和权限名查询权限使用记录
atm dump -r -i ********* -p ohos.permission.CAMERA