雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-07-14 50

需求描述

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

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

更新于:2个月前
赞一波!2

文章评论

全部评论