![](/img/trans.png)
[英]Linux/Python How do I import a root access py module as a non-root user?
[英]Allow non-root users ioctl access to /dev/mytest file in linux module
我的项目包含两件事:内核模块和应用程序,它们使用/dev/mytest
文件通过ioctl
进行通信。
当前,需要以root用户身份运行app才能访问/dev/mytest
文件。 是否可以允许非用户使用此文件进行迭代而无需sudo?
据我了解,file_operations结构属性.owner = THIS_MODULE
与/dev/mytest
文件无关,并且仅与驱动程序文件关联。
我在内核模块中使用class_create
和device_create
函数创建/dev/mytest
。 因此,也许我应该指定一些特殊的device_create
参数? 或者我怎么能做到呢?
在现代内核中,您可以执行以下操作
myclass = class_create(THIS_MODULE, "my_class_name");
/* error handling if class_create fails */
myclass->devnode = mydevnode;
你的devnode
函数就像
static char *mydevnode(struct device *dev, umode_t *mode)
{
if (mode)
*mode = 0666; /* or whatever permissions you want */
return NULL; /* could override /dev name here too */
}
然后,如果您使用device_create
创建驱动程序专用文件,则内核将调用mydevnode
创建文件,并且您可以在此处覆盖文件权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.