侧边栏壁纸
  • 累计撰写 158 篇文章
  • 累计创建 71 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

Linux内核模块生成的设备文件如何在加载时自动设置权限

码峰
2022-11-23 / 0 评论 / 0 点赞 / 259 阅读 / 228 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-11-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

需求描述

Linux内核模块,在/dev目录中创建了设备文件之后,默认权限是crw-------(600),这个内核设备文件如果没有root权限就无法打开进行操作,是否有办法在设备文件创建后,自动设置设备文件的权限呢?
Linux自动设置设备文件权限

实现方法

在内核中代码通过device_create创建设备文件:

device_create(my_class, NULL, devno, NULL, "dev_file");

使用udev的规则文件来设置设备文件的权限。具体过程如下:
创建规则文件,内容如下:

KERNEL=="dev_file", MODE="0666"

将文件放置到/etc/udev/rules.d/目录中。
然后执行命令:

$ sudo udevadm control -R

之后,再安装内核模块,创建出来的设备文件的权限就是规则文件中设置的权限了。

0

评论区