harmony 鸿蒙atm工具
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 |帮助信息。|atm perm支持的命令集合。| |-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参数只能单独使用。
参数 | 参数说明 |
---|---|
-d | 必选参数,查询系统中所有的权限定义。 |
-d -p <permission-name> | 可选参数,通过权限名,查询权限定义。 |
-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 -d
#按权限名查询权限定义
atm dump -d -p *********
# 执行结果
# {
# "permissionName": "ohos.permission.KERNEL_ATM_SELF_USE",
# "grantMode": SYSTEM_GRANT,
# "availableLevel": SYSTEM_CORE,
# "availableType": SYSTEM,
# "provisionEnable": true,
# "distributedSceneEnable": true,
# "isKernelEffect": true,
# "hasValue": true,
# }
#显示atm dump的帮助信息
atm dump -h
#查询系统中所有应用进程的tokenid和包名
atm dump -t
#按tokenid查询权限信息
atm dump -t -i *********
# 执行结果
# {
# "tokenID": 672078897,
# "processName": "samgr",
# "apl": 2,
# "permStateList": [
# {
# "permissionName": "ohos.permission.DISTRIBUTED_DATASYNC",
# "grantStatus": 0,
# "grantFlag": 4,
# }
# ]
# }
#按包名查询权限信息
atm dump -t -b ohos.telephony.resources
# 执行结果
# {
# "tokenID": 537280686,
# "tokenAttr": 1,
# "ver": 1,
# "userId": 100,
# "bundleName": "ohos.telephony.resources",
# "instIndex": 0,
# "dlpType": 0,
# "isRemote": 0,
# "isPermDialogForbidden": 0,
# "permStateList": [
# {
# "permissionName": "ohos.permission.DISTRIBUTED_DATASYNC",
# "grantStatus": 0,
# "grantFlag": 4,
# }
# ]
# }
#按进程名查询权限信息
atm dump -t -n *********
#查询所有应用的权限使用类型
atm dump -v
#执行结果
# {
# "tokenId": 537088946,
# "permissionName": ohos.permission.GET_INSTALLED_BUNDLE_LIST,
# "usedType": 0,
# }
#按应用tokenid查询权限使用类型
atm dump -v -i *********
#按权限名查询权限使用类型
atm dump -v -p ohos.permission.CAMERA
#按应用tokenid和权限名查询权限使用类型
atm dump -v -i ********* -p ohos.permission.CAMERA
#查询系统内的所有权限使用记录
atm dump -r
# 执行结果
# {
# "beginTime": 1501837281916,
# "endTime": 1501837281916,
# "bundleRecords": [
# {
# "tokenId": 537088946,
# "isRemote": 0,
# "bundleName": com.ohos.permissionmanager,
# "permissionRecords": [
# {
# "permissionName": "ohos.permission.GET_INSTALLED_BUNDLE_LIST",
# "accessCount": "1",
# "secAccessCount": "0",
# "rejectCount": 0,
# "lastAccessTime": 1501837281916,
# "lastRejectTime": 0,
# "lastAccessDuration": 0,
# "accessRecords": [
# {
# "status": "1",
# "lockScreenStatus": "1",
# "timestamp": "1501837281916",
# "duration": 0,
# "count": 1,
# "usedType": 0,
# },
# ]
# "rejectRecords": [
# ]
# },
# ]
# }
# ]
# }
#按应用tokenid查询权限使用记录
atm dump -r -i *********
#按权限名查询权限使用记录
atm dump -r -p ohos.permission.CAMERA
#按应用tokenid和权限名查询权限使用记录
atm dump -r -i ********* -p ohos.permission.CAMERA
你可能感兴趣的鸿蒙文章
0
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦