驱动程序开发:避免 sudo 要求

问题描述

我目前正在研究在 PCIe 接口上启用 Peek/Poke 功能,其中 PC 与 FPGA 板进行通信。为此,我找到了一些示例代码,其中共享资源由 PC 应用程序打开,然后用户将能够从那里读/写。在这种情况下,资源代表一个 BAR(基地址寄存器)。 打开资源的那行看起来像:

fd = open(sysfs_name,O_RDWR | O_SYNC);
// sysfs_name = /sys/bus/pci/devices/0000:00:1d.0/resource4

此资源具有以下权限

$ ll /sys/bus/pci/devices/0000:00:1d.0/resource4
-rw------- 1 root root 137438953472 мај 18 18:18 /sys/bus/pci/devices/0000:00:1d.0/resource4

这意味着必须通过授予管理员权限(又名 sudo)来调用。我的问题是,更改此资源的权限是否安全,因为这将是一台专用机器,访问权限非常有限。除此之外,还有没有其他方法可以让用户在不要求用户管理员权限的情况下访问资源?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)