2015-12-18 202 views
0

对于我的大学项目,我正在做一个模块,它允许或禁止进程执行系统调用(例如一个可加载的selinux)。现在我掌握了控制系统调用的代码。对于每个进程,我存储指向包含权限配置的结构的链接。但是,现在我只是硬编码了两个配置:一个是默认的(允许所有),另一个是允许除了打开'/ testfile'之外的所有内容。Linux内核模块配置

我的问题是如何动态加载配置?

我有一个配置文件的解析器,但我读过从内核访问文件是个坏主意。

我应该如何存储配置,我应该如何加载它们?

+0

创建一个字符设备并从中读取配置行和指令(即“删除配置”)。具有足够权限的用户空间程序将从文件系统中的某个位置读取配置文件,并将其传送到字符设备。 –

回答

1

我读过,从内核中读取文件是坏主意

说明filp_open功能在内核源说:

这是为了打开一个文件助手内核空间,如果你真的必须。但一般你不应该这样做,所以请向前走,不要看这里..

所以,如果你需要到文件/存储内容加载到/从内核模块,然后那样做。但使用适当的功能,如in that question所述。