В данный момент я пытаюсь зарегистрировать модуль безопасности 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);