2015-12-18 4 views
0

Для моего университетского проекта я делаю модуль, который разрешит или запретит процесс для выполнения системных вызовов (например, мало загружаемых selinux). На данный момент я держу код, который управляет syscalls. Для каждого процесса я сохраняю ссылку на структуру, содержащую конфигурацию разрешений. Однако теперь я просто жестко закодировал две конфигурации: по умолчанию (разрешить все), а другой - разрешить все, кроме открытия '/ testfile'.Конфигурация модуля ядра Linux

Мой вопрос заключается в том, как загружать конфигурации динамически?

У меня есть парсер для файлов конфигурации, но я читал, что доступ к файлам из ядра - плохая идея.

Как сохранить конфиги и как их загрузить?

+0

Создайте устройство символов и прочитайте строки конфигурации и директивы (например, «удалить конфигурацию»). Программа пользовательского пространства с достаточными привилегиями будет считывать конфигурационный файл из какого-либо места в файловой системе и транслировать его на ваше персональное устройство. –

ответ

1

Я читал, что чтение файлов из ядра плохая идея

Описание filp_open функции в исходном коде ядра говорит:

Это помощник, чтобы открыть файл с kernelspace, если вам действительно нужно. Но, в общем, вы не должны делать это, поэтому, пожалуйста, не двигаться вперед, ничего увидеть здесь ..

Итак, если вам нужно для загрузки/содержание магазина файла в/из модуля ядра, затем сделайте это. Но используйте соответствующие функции, как описано in that question.

Смежные вопросы