Linux(libusb-1.0)でUSBデバイスへのアクセスを取得しますか?

StackOverflow https://stackoverflow.com/questions/4300837

  •  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"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top