我正在编写内核模块(Linux 中的 C),我想更改其中其他文件的权限。任何解决方案?因为我在内核中,所以我不能使用 chmod syscall 并且......感谢您的帮助
这是我的 Makefile:
> obj-m += ca.o
>
> all:
> make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
>
> clean:
> make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
这是我的代码:
> #include <linux/string.h>
> #include <linux/mm.h>
> /* Snip, tons of includes (all of them :))*/
> #include <linux/delay.h> .... int procfile_write(struct file *file,
> const char *buffer, unsigned long
> count,
> void *data) { ... sys_chmod(path, per); ... } ...
制作时会发出警告:
WARNING: "sys_chmod" [file] undefiened
并且在使用“sudo insmod”加载模块时会出现以下错误:
Unknown sybol in module
似乎这个错误尤其发生在内核模块中。任何的想法?再次感谢!