0

我正在用 Anjuta 用 C 语言编写一个带有 libusb 库的小应用程序。

libusb 出于某种目的需要写入权限。这个论点已经在这个主题中讨论过:“Get access to USB device on Linux (libusb-1.0)?”。
也许主题解决方案工作正常(我还没有尝试过),但我希望我的应用程序访问所有 USB 设备而不是特定设备。
我尝试在具有 root 所有者但具有 libusbopen 功能的 libusb-1.0.so 文件中设置一个 suid 位,例如,再次回答“libusb 需要对 USB 设备节点的写访问权”。我不会以 root 用户身份构建整个 anjuta 项目,但到目前为止,这是这个 libusb-1.0 问题的唯一解决方案。

是否有解决方案可以在不修改 udev 行为的情况下获得对通用 USB 设备(例如热插拔 pendrive)的 inode 的写访问权限?

4

1 回答 1

0

我找到了一种解决方法。也许它不好,但它似乎运作良好。我020_permissions.rulesudev配置目录 ( /etc/udev/rules.d) 中添加了一个权限规则文件 (),其中唯一的规则是哪个 Unix 组应该拥有所有 USB 设备节点。

文件内容为:

SUBSYSTEM=="usb", GROUP=="group to belong my user"

如果您遇到类似的 libusb 问题,我希望这对您有所帮助。

于 2011-11-27T14:09:17.503 回答