我正在用Anjuta用C语言编程,这是一个使用libusb库的小应用程序。
libusb为了某种目的需要有写权。这个论点已经在这个主题中讨论过了:“在Linux上访问USB设备(libusb-1.0)?”。
也许主题解决方案可以正常工作(我还没有尝试),但是我希望我的应用程序能够访问所有的usb设备,而不是特定的设备。
我尝试在libusb-1.0.so文件中设置suid位,该文件有根所有者,但有libusbopen函数,例如,再次回答"libusb需要对USB设备节点的写访问“。我不习惯以root用户的身份构建整个anjuta项目,但到目前为止,这是libusb-1.0问题的唯一解决方案。
是否有一种无需修改udev行为就可以对通用usb设备(例如热插拔)的inode进行写访问的解决方案?
发布于 2011-11-27 14:09:17
我找到了解决办法。也许不太好,但似乎效果很好。我在udev配置目录(/etc/udev/rules.d)中添加了一个权限规则文件(),其中唯一的规则是哪个Unix组应该拥有所有udev节点。
文件内容是:
SUBSYSTEM=="usb", GROUP=="group to belong my user"如果你有类似的libusb问题,我希望这对你有帮助。
https://stackoverflow.com/questions/8231440
复制相似问题