libvirtにゲストタイプがあり、lxc
次のUSBデバイスを渡します。
<hostdev mode="subsystem" type="usb" managed="yes">
<source>
<vendor id="0x10c4"/>
<product id="0xea60"/>
<address bus="1" device="10"/>
</source>
</hostdev>
デバイスは次のように表示されます/dev/bus/usb/001/010
。
crwx------ 1 root root 189, 9 Sep 5 23:21 /dev/bus/usb/001/010
このようなudevルールを追加します。
SUBSYSTEM=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="hass", MODE="0660"
次に、たとえば実行します。
$ udevadm test /devices/pci0000:00/0000:00:07.1/0000:04:00.3/usb1/1-1/1-1.3
必要に応じて所有者/権限を変更してください。ただし、systemdはデフォルトでコンテナでudevを実行しないため、再起動後に権限がリセットされます。
systemd[1]: Rule-based Manager for Device Events and Files was skipped because of a failed condition check (ConditionPathIsReadWrite=/sys).
LXC自体は、明らかにlxc.cgroup.devices.allow
この問題を解決するなどのガイドラインをサポートしています。 libvirt LXCゲストデバイスの権限を変更する最良の方法は何ですか?
ゲストとuid / gidを同期させる必要があるので、libivrtホストでudevルールを介して権限を設定することを避けたいと思います。
ゲストはArch、ホストはDebianです。