无法从C中的用户空间在/ proc文件系统中创建新文件。它甚至可能吗?

时间:2014-05-31 07:17:11

标签: c file linux-kernel kernel proc

所以,这是应该创建并将字符串写入/ 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访问权限的用户创建它。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

/proc中的文件用作用户空间和内核之间的接口。

可以使用这样的文件将字符串从用户空间传递到内核,但是想要接收它的内核代码负责创建文件。