【发布时间】:2022-01-14 12:34:35
【问题描述】:
我有以下代码:
static struct kobj_attribute my_attribute =__ATTR(my_node, 0444, my_show_fn, my_store_fn);
...
kobject_init(&my_module->kobj, &ktype_my_module);
ret = kobject_add(&my_module->kobj, kernel_kobj, "%s", "my_module");
...
ret = sysfs_create_file(&my_module->kobj, &my_attribute.attr);
这将创建一个/sys/kernel/my_module/my_node node,由具有 0444 权限的 root 拥有。
如何让非 root 用户在内核代码中拥有该节点?
【问题讨论】:
-
您是否尝试在 sysfs_create_file 之后更改节点的所有权?
-
@Philippe 是的,这是可行的,但对于我的用例来说,最好在内核中设置它。
标签: linux kernel sysfs file-ownership