所以,这是应该创建字符串并将其写入/proc/minifwdb 的函数:
int write_to_file(char* rule)
{
FILE* fin;
fin = fopen("/proc/minifwdb", "a");
if (!fin)
{
printf("Could not open the file /proc/minifwdb, exiting...\n");
return 1;
}
if (fprintf(fin, "%s\n", rule) < 0)
return 1;
fclose(fin);
return 0;
}
当调用 fopen() 时,它返回 NULL。目前不存在/proc/minifwdb 这样的文件。我需要使用 LKM 创建它,然后用它来写入信息吗? 我还尝试从没有 root 访问权限的用户创建它。有什么建议吗?
最佳答案
/proc
中的文件用作用户空间和内核之间的接口(interface)。
可以使用这样的文件将字符串从用户空间传递到内核,但想要接收它的内核代码负责创建该文件。
关于无法从 C 中的用户空间在/proc 文件系统中创建新文件。这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23967496/