首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在启用fapolicyd的系统上,如何允许Java运行sqlitejdbc.so,它在每次启动时都有一个唯一的文件名?

在启用fapolicyd的系统上,如何允许Java运行sqlitejdbc.so,它在每次启动时都有一个唯一的文件名?
EN

Server Fault用户
提问于 2022-08-02 16:55:02
回答 1查看 696关注 0票数 2

我的问题非常类似于这一个:我在Rhel 8上运行了一个依赖sqlite驱动程序的Java应用程序。与该问题不同,我的问题不是用noexec挂载我的文件系统。相反,它与fapolicyd一起禁止java执行驱动程序:

代码语言:javascript
复制
Aug 02 11:36:40 hostname cerebro[3210818]: /opt/cerebro/sqlite-3.34.0-47390f7e-7dd5-45d7-9a01-0635f335df40-libsqlitejdbc.so (Operation not permitted)
Aug 02 11:36:42 hostname cerebro[3210818]: /opt/cerebro/sqlite-3.34.0-cb416389-64b7-4ed6-9e52-5c710ec85a6c-libsqlitejdbc.so (Operation not permitted)

通常,我会使用fapolicyd-cli命令将驱动程序文件添加到fapolicyd信任列表中,但是每次应用程序启动时,JDBC驱动程序文件都有一个唯一的文件名,因此添加现有文件不是可行的选择。注意上面的十六进制字符--在每个应用程序启动时,这些字符是不同的。

我该如何处理这种情况?

EN

回答 1

Server Fault用户

发布于 2022-12-08 23:41:19

这应该是一个评论,但我不允许这样做。

按照@cutrightjm的说明,我创建了文件/etc/fapolicyd/ file es.d/01-sqlitejdbc.rules.规则的内容如下:

代码语言:javascript
复制
allow perm=open exe=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el8_7.x86_64/jre/bin/java : dir=/opt/cerebro/ ftype=application/x-sharedlib

注意,这是非常硬编码的特定版本的java上的RHEL8.7 8.7。

感觉还是很难看,但效果很好。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1107216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档