我正在创建自己的系统调用和 我正在使用此链接中的函数How to read/write files within a Linux kernel module? 阅读和写入文件
问题是当非root用户调用我的新系统调用时,这些函数不起作用。
选项包括:在调用这些函数之前设置root权限 或者在调用这些函数之前创建具有权限777的文件 也许有更多的选择
但我不知道该怎么做。
答案 0 :(得分:0)
您需要以某种方式模拟setfsuid调用(无需权限检查),执行open并恢复当前进程的fsuid。更改FS UID然后允许您实际调用open syscall,自己使用文件描述符(警告:用户代码也能够使用该文件描述符!),然后恢复FS UID减少文件的安全漏洞你正在使用的描述符。建议您在返回用户空间之前关闭文件。