Как мне зарегистрировать модуль безопасности с помощью register_security на linux-kernel 4.18? - PullRequest
0 голосов
/ 12 апреля 2019

В данный момент я пытаюсь зарегистрировать модуль безопасности linux с открытым файлом системных вызовов.Я не могу найти функцию register_security в любом месте.Может кто-нибудь сказать мне, где это, и если все еще возможно сделать такой крюк.

Вот что я попробовал.


#include <linux/module.h>    // included for all kernel modules
#include <linux/kernel.h>    // included for KERN_INFO
#include <linux/init.h>      // included for __init and __exit macros
#include <linux/security.h>
#include <linux/fs.h>
#include <linux/file.h>
#include <linux/lsm_hooks.h>

MODULE_LICENSE("GPL");


extern struct security_operations *security_ops;

int acl_file_open(struct file *file) {
    if (!file)
        return -1;

    printk(KERN_INFO "Ouverture de : %s", file->name);
    return 0;
}

static struct security_operations acl_ops = {
    .file_open = acl_file_open
};

static int __init acl_init(void)
{
    printk(KERN_INFO "Initialisation du module ACL...\n");

    if (register_security(&acl_ops)) {
        printk(KERN_INFO "Impossible de charger le module ACL\n");
        return 1;
    }

    printk(KERN_INFO "Module ACL charge\n");

    return 0;    // Non-zero return means that the module couldn't be loaded.
}

static void __exit acl_cleanup(void)
{
    printk(KERN_INFO "Cleaning up module.\n");
}

module_init(acl_init);
module_exit(acl_cleanup);

1 Ответ

0 голосов
/ 29 апреля 2019

В эти дни я думаю, что вы можете посмотреть на struct security_hook_list и security_add_hooks()

...