1# atm工具
2
3Access Token Manager (程序访问控制管理工具,简称atm工具),是用于查询<!--Del-->或设置<!--DelEnd-->应用进程的权限、使用类型等信息的工具,为开发者提供了根据tokenid、包名、进程名等信息进行访问控制管理的能力。
4
5## 环境说明
6在使用本工具前,开发者需要先获取[hdc工具](../dfx/hdc.md),执行hdc shell。
7
8## atm工具命令列表
9
10| 命令                | 描述 |
11| ------------------- | -----------|
12| help                | 帮助命令,显示atm支持的命令信息。 |
13| <!--DelRow-->perm   | 权限命令,为应用进程授予或取消权限。 |
14| <!--DelRow-->toggle | 弹窗开关状态命令,设置或获取权限的弹窗开关状态。 |
15| dump                | 查询命令,用于查询访问控制相关数据信息。 |
16
17## 帮助命令
18
19```bash
20# 显示帮助信息
21atm help
22```
23
24
25<!--Del-->
26
27## 权限命令
28```bash
29atm perm [-h] [-g -i <token-id> -p <permission-name>] [-c -i <token-id> -p <permission-name>]
30```
31
32**权限命令参数列表**
33| 参数                                               | 参数说明                  |
34| -------------------------------------------------- | ---------------------- |
35| -h                                        | 帮助信息。 | atm perm支持的命令集合。 |
36| -g&nbsp;-i \<token-id\>&nbsp;-p \<permission-name\> | -g、-i、-p均为必选参数,通过应用进程的tokenid授予指定权限。返回是否成功。    |
37| -c&nbsp;-i \<token-id\>&nbsp;-p \<permission-name\> | -c、-i、-p均为必选参数,通过应用进程的tokenid取消指定权限。返回是否成功。    |
38
39示例:
40
41```bash
42# 显示atm perm的帮助信息
43atm perm -h
44
45# 为应用进程授予相机权限
46atm perm -g -i ********* -p ohos.permission.CAMERA
47
48# 为应用进程取消相机权限
49atm perm -c -i ********* -p ohos.permission.CAMERA
50```
51
52
53## 弹窗开关状态命令
54
55```bash
56atm toggle [-h] [-s -u <user-id> -p <permission-name> -k <status>] [-o -u <user-id> -p <permission-name>]
57```
58**弹窗开关状态命令参数列表**
59
60| 参数                                                           | 参数说明                                |
61| ----------------------------------------------------------------- | ----------------------------------- |
62| -h                                                     | 帮助信息。              |
63| -s&nbsp;-u \<user-id\>&nbsp;-p \<permission-name\>&nbsp;-k \<status\> | -c、-i、-p、-k均为必选参数,在指定用户下,设置指定权限的弹窗开关状态为status。返回是否成功。 |
64| -o&nbsp;-u \<user-id\>&nbsp;-p \<permission-name\> | -o、-u、-p均为必选参数,在指定用户下,返回指定权限的弹窗开关状态。 |
65
66示例:
67
68```bash
69# 显示atm toggle的帮助信息
70atm toggle -h
71
72# 设置用户0下相机权限的弹窗开关状态为开启
73atm toggle -s -u 0 -p ohos.permission.CAMERA -k 1
74
75# 获取用户0下相机权限的弹窗开关状态
76atm toggle -o -u 0 -p ohos.permission.CAMERA
77```
78
79<!--DelEnd-->
80
81
82## 查询命令
83
84<!--RP1-->
85```bash
86atm 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>]]
87```
88<!--RP1End-->
89
90下表所列命令中,-t、<!--Del-->-r、<!--DelEnd-->-v为必选参数,-i、-b、-n、-p为可选参数。对<!--Del-->atm dump -r和<!--DelEnd-->atm dump -v命令,-i和-p参数可以组合使用;对atm dump -t命令,-i、-b、-n参数只能单独使用。
91
92| 参数                                          | 参数说明                                                 |
93| ----------------------------------------------- | ---------------------------------------------------- |
94| -h                                     | 帮助信息。                              |
95| -t                                     | 必选参数,查询系统中所有应用进程信息。                             |
96| -t&nbsp;-i \<token-id\>                     | 可选参数,通过应用进程的tokenid,查询该应用的基本信息以及对应的权限信息。             |
97| -t&nbsp;-b \<bundle-name\>                  |  可选参数,通过应用进程的包名bundle-name,查询该应用的基本信息以及对应的权限信息。     |
98| -t&nbsp;-n \<process-name\>                 |  可选参数,通过应用进程的进程名process-name,查询该应用的基本信息以及对应的权限信息。  |
99| <!--DelRow-->-r                        |  必选参数,查询系统内的所有权限使用记录。                           |
100| <!--DelRow-->-r&nbsp;-i \<token-id\>        | 可选参数,通过应用进程的tokenid,查询该应用的权限使用记录。        |
101| <!--DelRow-->-r&nbsp;-p \<permission-name\> | 可选参数,通过权限名,查询该权限的使用记录。                        |
102| -v                                     | 必选参数,查询系统中所有应用进程的权限使用类型。                    |
103| -v&nbsp;-i \<token-id\>                     | 可选参数,通过应用进程的tokenid,查询该应用的权限使用类型。         |
104| -v&nbsp;-p \<permission-name\>              | 可选参数,通过权限名,查询该权限的使用类型。                        |
105
106示例:
107
108```bash
109#显示atm dump的帮助信息
110atm dump -h
111
112#查询系统中所有应用进程的tokenid和包名
113atm dump -t
114
115#按tokenid查询权限信息
116atm dump -t -i *********
117
118#按包名查询权限信息
119atm dump -t -b ohos.telephony.resources
120
121#按进程名查询权限信息
122atm dump -t -n *********
123
124#查询所有应用的权限使用类型
125atm dump -v
126
127#按应用tokenid查询权限使用类型
128atm dump -v -i *********
129
130#按权限名查询权限使用类型
131atm dump -v -p ohos.permission.CAMERA
132
133#按应用tokenid和权限名查询权限使用类型
134atm dump -v -i ********* -p ohos.permission.CAMERA
135```
136
137<!--Del-->
138```bash
139#查询系统内的所有权限使用记录
140atm dump -r
141
142#按应用tokenid查询权限使用记录
143atm dump -r -i *********
144
145#按权限名查询权限使用记录
146atm dump -r -p ohos.permission.CAMERA
147
148#按应用tokenid和权限名查询权限使用记录
149atm dump -r -i ********* -p ohos.permission.CAMERA
150```
151<!--DelEnd-->