Linux(libusb-1.0)でUSBデバイスへのアクセスを取得しますか?
-
29-09-2019 - |
質問
Linuxでlibusb-1.0を使用して、特定のUSB HID製品(ベンダーおよび製品IDによって識別)と通信するための小さなプログラムを作成しています。 「LibusbにはUSBデバイスノードへの書き込みアクセスが必要です」ため、今のところ、プログラムをルートとして実行する必要があります。プログラムをルートとして実行する必要がないように、必要なデバイスのアクセス許可を変更する方法はありますか?
解決
最新のLinuxシステムでは、 udevd
(man 7 udev
)プラグインしたときにUSBデバイスのデバイスノードを作成します。デバイスに一致するUDEVルールを追加します(USBベンダーと製品IDに一致させることができます)。 OWNER
/ GROUP
/ MODE
デバイスノードの。
最良のアプローチは、おそらくデバイスにアクセスできるユーザー向けの新しいグループを作成し、UDEVルールのグループ所有者として設定することです。使用する必要がある場合もあります MODE
グループの読み取り/書き込みアクセス許可を確実に備えていることを確認します。例えば。あなたのルールはおそらく次のようになります:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="ffee", ATTRS{idProduct}=="5a5a", MODE="0660", GROUP="foobar"
所属していません StackOverflow