2013-05-03 31 views
1

我有一个模块是在linux内核中创建的。 我希望模块能够接收参数,并且我希望其中一个具有读取和写入权限。 所以我定义:为linux内核模块参数写入渗透性

module_param(param, int, S_IWUSR|S_IRUGO); 

但由于某些原因,当我去/ SYS /模块/ mymodule中/放慢参数/参数,并试图写它并没有给我的权限(甚至使用sudo)

+0

你如何写*? 'echo 1> debug'适用于'static int debug; module_param(debug,int,0600);'。你是否声明了'static int param;'? – 2013-05-03 17:53:28

+0

错误是否表示权限被拒绝? – 2013-05-03 22:26:25

回答

1

您是否使用sudoecho

sudo echo 1 > /sys/module/mymodule/paramter/param 

呢?

重定向到文件不适用于sudo。使用例如tee代替:

echo 1|sudo tee /sys/module/mymodule/paramter/param 

这样,你可以写一个文件的根目录。

除此之外,您的module_param()电话看起来不错。

+0

谢谢你的工作。为什么我可以编辑文件的唯一方法? 不应该像我想编辑的任何文件一样工作吗? – user690936 2013-05-04 17:30:48