1. 概述
2024-07-22日,帆软发布「FineReport接口/view/ReportSever?test=&n=漏洞」相关解决方案,需要删除产品内置的sqlite驱动。
本文面向运维平台部署的项目,详细讲解如何删除sqlite驱动。
注1:工程所在Linux服务器重启、工程升级,会导致本文操作失效,sqlite驱动重新生成。
注2:运维平台部署的帆软项目,默认不内置demo资源,因此 FineReport 中默认无sqlite相关数据连接。
如不具备相关运维知识,可先前往FineReport工程,查看「管理系统>数据连接>数据连接管理」中是否建立了sqlite相关数据连接,先删除再联系帆软技术支持协助处理。
2. 操作步骤
2.1 查看信息
1)管理员登录运维平台,选择指定项目。
2)点击「维护>组件管理」,找到fr组件,点击「终端」。
3)进入驱动所在位置:cd webapps/webroot/WEB-INF/lib
4)查看文件名称:ls
5)记录以下信息
sqlite驱动名称:示例sqlite驱动的名称为sqlite-jdbc-3.42.0.0.jar
fr容器名称:示例fr容器名称为fanruan240612151823_fr
fr所在服务器IP:示例fr所在服务器为192.168.101.93
2.2 备份驱动
为防止以后需要使用,请将驱动备份到本地宿主机后再进行删除
1)终端访问fr所在服务器(示例为192.168.101.93)
2)执行备份命令(加粗内容需要自行修改):
docker cp fr容器名称:/usr/local/tomcat/webapps/webroot/WEB-INF/lib/sqlite驱动名称 /备份路径
示例:将驱动备份到/home/bak文件夹下
docker cp fanruan240612151823_fr:/usr/local/tomcat/webapps/webroot/WEB-INF/lib/sqlite-jdbc-3.42.0.0.jar /home/bak/
2.3 删除驱动
1)管理员登录运维平台,选择指定项目。
2)点击「维护>组件管理」,找到fr组件,点击「终端」。
3)进入驱动所在位置:cd webapps/webroot/WEB-INF/lib
4)执行命令删除驱动(自行修改驱动名称):rm -rf sqlite驱动名称
本文示例:rm -rf sqlite-jdbc-3.42.0.0.jar
2.4 重启fr组件
驱动删除后,需要重启fr组件生效。
如为集群工程,存在多个fr组件,请依次删除各个节点下的驱动后,再整体重启fr组件。
1)管理员登录运维平台,选择指定项目。
2)点击「维护>组件管理」,找到fr组件,点击上方的「重启」按钮,等待fr组件恢复healthy状态即可。
2.5 查看是否删除成功
1)管理员登录FineReport工程,点击「管理系统>数据连接>数据连接管理」
2)查看原有的sqlite相关数据连接,尝试测试连接,显示连接失败,即代表删除成功。