我正在制作一个小型 linux 模块,它是 char 设备的驱动程序。在我的代码中,我创建了设备类,而不是它自己的设备,因此在我的系统中创建了 /dev 文件。问题是 /dev 文件只有 root 权限,并且用户对该文件既没有读、写也没有执行权限,我想更改 /dev 文件的权限。
我在网上搜索了答案,我发现是更改 udev 文件,但这个解决方案在我的情况下不起作用,因为我需要在模块加载到内核时动态更改权限。我正在编写的模块不会总是在我的机器上运行,因此我需要它来“即时”更改权限。
major_number_firewall = register_chrdev(0, device_name_firewall, &my_file_implementation_firewall);
device_class = class_create(THIS_MODULE, class_name_firewall);
log_file_device = device_create(device_class, NULL, MKDEV(major_number_firewall, MINOR_LOG), NULL, device_name_log_file);
有更改权限的功能吗?