提交 cf203cc6 编写于 作者: C chengjinsong2

补充system说明

Signed-off-by: Nchengjinsong2 <chengjinsong2@huawei.com>
上级 4949a20f
......@@ -162,7 +162,21 @@
| int ServiceSetReady(const char *serviceName) | 设置服务准备 | 返回值:成功返回0,失败返回-1 <br> 参数:<br> serviceName: 服务名 |
| int StartServiceByTimer(const char *serviceName, uint64_t timeout) | 定时启动服务 | 返回值:成功返回0,失败返回-1 <br> 参数: <br> serviceName: 服务名 <br> timeout: 超时时间 |
| int StopServiceTimer(const char *serviceName) | 停止服务计时器 | 返回值:成功返回0,失败返回-1 <br> 参数:<br> serviceName: 服务名 |
- 服务控制接口的DAC配置
服务控制接口配置DAC,需要修改文件https://gitee.com/openharmony/startup_init_lite/blob/master/services/etc/group,在组servicectrl中添加对应的用户id,例如:
```java
servicectrl:x:1050:root,shell,system,samgr,hdf_devmgr
```
- 注意
int DoReboot(const char *cmdContent) 接口配置DAC,需要修改文件https://gitee.com/openharmony/startup_init_lite/blob/master/services/etc/group,在组powerctrl中添加对应的用户id,例如:
```java
powerctrl:x:1051:root,shell,system,update,power_host
```
### 开发步骤
此处以要新增一个名为MySystemApp的系统服务为例进行说明,使用如下配置:
......
......@@ -98,6 +98,62 @@ OHOS系统参数为各系统服务提供简单易用的键值对访问接口,
![UGO规则信息](figures/系统参数DAC.png)
- 系统参数配置selinux策略
a、添加selinux标签
为系统参数添加selinux标签,首先需要先在文件parameter.te中定义标签,例如:
```java
type servicectrl_param, parameter_attr
```
标签定义完成后,在文件parameter_contexts中添加标签,这里以ohos.servicectrl.开始的系统参数为例:
```java
ohos.servicectrl. u:object_r:servicectrl_param:s0
```
b、如果需要给init授权,允许map等操作,可以在对应子系统中加init.te,并补充下面内容:
```java
allow servicectrl_param tmpfs:filesystem associate;
```
```java
allow init servicectrl_param:file { map open read relabelto relabelfrom };
```
c、设置写权限,这里允许init samgr hdf_devmgr 进行系统参数写。
```java
allow { init samgr hdf_devmgr } servicectrl_param:parameter_service { set };
```
d、设置读权限:
```java
allow { xxx } servicectrl_param:file { map open read };
```
如果全部允许,也可以设置:
```java
allow { domain -limit_domain } servicectrl_param:file { map open read };
```
- 建议:
各个子系统只保留两个系统参数标签:
一个私有,用来控制系统参数设置
一个公有,允许所有服务进行访问
- 注意:
当前不允许hap包访问ohos.boot.sn属性
- 默认参数加载
系统参数的加载顺序如下:
......@@ -111,6 +167,20 @@ OHOS系统参数为各系统服务提供简单易用的键值对访问接口,
| system参数 | /system/etc/param/*.para | 加载各子系统定义的参数参数。如果系统参数已经存在,则忽略掉。 |
| persist参数 | /data/parameters/ | 如果持久化参数存在,则最后加载持久化系统参数。持久化系统参数会覆盖加载的默认系统参数。 |
#### 系统参数标签文件大小配置
如果标签对应的系统参数个数多,超过5条时,需要配置系统参数标签文件的大小,默认大小(512),配置文件 https://gitee.com/openharmony/startup_init_lite/blob/master/services/etc/param/ohos.para.size
配置规则:
系统参数标签=大小
例如:
```java
startup_init_param=40960
```
### 约束与限制
仅限小型系统、标准系统下使用。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册