配置H2D文件传输白名单
简介
Device默认开启了H2D(Host to Device)文件传输时的白名单校验功能,对传输文件进行大小、存放目录及权限的校验,仅在白名单列表中的文件才允许使用HDC接口从Host传输到Device。
不同Device加载不同业务包的场景下,开发者需要调用HDC接口将业务包传输到Device,此种场景下,开发者需要参考本章节进行H2D文件传输白名单的配置。
操作步骤
H2D白名单校验文件为Device侧的“/etc/hdcFileTransWhiteList.cfg”文件,您需要在制作Device侧文件系统时修改此文件,文件系统的解压缩及压缩方法可参见定制文件系统,下面仅描述此文件的配置方法。
- 切换到解压后的Device侧文件系统所在目录。
cd /usr/local/filesys_modify/tempdir
- 执行如下命令为白名单校验文件“hdcFileTransWhiteList.cfg”添加写权限。
cd etc
chattr -i hdcFileTransWhiteList.cfg
chmod +w hdcFileTransWhiteList.cfg
- 编辑白名单校验文件“hdcFileTransWhiteList.cfg”,追加需要进行传输的文件的校验规则。
- 请在此文件中追加白名单校验规则,不允许修改文件中预置校验规则,否则会造成系统异常。
- 此文件中校验规则总数不能超过32条(含预置校验规则),多出的校验规则无法生效。
- 为避免文件被误修改,建议修改前先备份此文件。
请在此文件中追加需要进行传输的文件的校验规则,配置格式如下:
<文件名> <文件存储目的路径> <文件名匹配规则> <文件大小上限> <文件数量> <文件传输用户权限>
配置示例:
service.tar.gz /service 1 55428800 1 0
- 取消hdcFileTransWhiteList.cfg文件的写权限。
chmod -w hdcFileTransWhiteList.cfg
chattr +i hdcFileTransWhiteList.cfg
补充说明
开发者也可以通过重命名白名单校验文件(hdcFileTransWhiteList.cfg)的方式关闭H2D的校验功能,但H2D文件传输的白名单校验功能关闭后,从Host传输到Device的文件不会进行任何限制,需要用户自行控制文件数量与大小,否则会存在Device侧内存空间耗尽,导致应用程序申请不到内存的风险。
关闭H2D校验功能的参考步骤如下:
- 切换到解压后的Device侧文件系统所在目录。
cd /usr/local/filesys_modify/tempdir
- 执行如下命令为白名单校验文件“hdcFileTransWhiteList.cfg”添加写权限。
cd etc
chattr -i hdcFileTransWhiteList.cfg
- 重命名白名单校验文件。
mv hdcFileTransWhiteList.cfg hdcFileTransWhiteList.cfg_back