완전히 업데이트된 Archlinux 설치가 있고 udev를 사용하여 USB 버스 및 포트 번호를 기반으로 장치 노드에 특정 권한을 설정하여 리디렉션할 수 있습니다.포트(제품/공급업체 ID 기반 장치가 아닌) 가상 머신에 연결됩니다.
이전에는 동일한 OS에서 작동했지만 다시 설치한 후 재부팅할 때마다 버스 번호가 변경되어 udev 규칙과 vm 구성을 수동으로 조정해야 했으며 다음 재부팅 시 프로세스를 다시 반복해야 했습니다.
때로는 버스가 3으로 표시되고 때로는 8로 표시되고 지금은 7로 표시됩니다. 보안 재앙을 피하기 위해 모든 USB 포트에 이러한 (안전하지 않은) 권한을 설정하고 싶지 않은데 어떻게 이 문제를 해결하고 지속적인 USB를 가질 수 있습니까? 버스번호 모직물?
답변1
커널 소스(drivers/usb/core/usb.c)에서: "busnum은 modprobe 순서, 카드버스 또는 pci 핫플러그 등에 따라 쉽게 변경될 수 있습니다." 따라서 컨트롤러에 속하는 "busid"를 확인하려면 PCI 토폴로지를 사용해야 합니다. "/sys/bus/usb/devices/usbN/"을 보면 모든 USB 장치를 열거할 수도 있습니다. ("serial"은 PCI 슬롯 번호이고, "busnum"은 논리 버스 번호, "NM/NMK/..입니다. 필요한 모든 것을 찾을 수 있는 물리적 토폴로지입니다.) libvirt를 사용하는 경우 vid/pid 대신 busnum/devnum을 사용할 수 있습니다. udev와 함께 사용하려면 "... ACTION" 및 udev 규칙을 사용하여 스크립트를 작성할 수 있습니다. 추가", PROGRAM = "/path/to/script [매개변수]", SYMLINK + = "%c"...". 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.