virt-manager를 사용하여 USB 장치를 가상 머신으로 리디렉션할 수 없음

virt-manager를 사용하여 USB 장치를 가상 머신으로 리디렉션할 수 없음

Ubuntu 16.04 가상 머신(KVM 하이퍼바이저)을 실행하는 Fedora 워크스테이션이 있습니다. USB 장치를 VM으로 리디렉션하고 싶지만 virt-manager에서 "Virtual Machine | Redirect USB device"를 선택하면 다음 오류가 발생합니다.

spice-client-error-quark: Could not redirect <USB device name> at 1-4:
Error setting USB device node ACL: 'Not authorized' (0)

오류 창에는 "USB 리디렉션 오류"라고만 표시된 "세부 정보" 섹션이 있습니다.

지금까지 시도했지만 성공하지 못한 방법은 다음과 같습니다.

  1. 제안대로여기, 다음 내용으로 /etc/udev/rules.d/50-spice.rules 파일을 만든 다음 `spice` 그룹을 만들고 이 그룹에 내 사용자를 추가했습니다.

    SUBSYSTEM=="usb", GROUP="spice", MODE="0660"
    SUBSYSTEM=="usb_device", GROUP="spice", MODE="0660"
    
  2. 최신 버전의 Fedora 33(0.39-1)에서 spice-gtk를 0.38-3으로 다운그레이드했습니다.

  3. 비활성화된 selinux

  4. sudo chmod 4755 /usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper

  5. spice-gtk 0.39-2와 함께 제공되는 Fedora 34로 업그레이드되었습니다.

답변1

나를 위한 해결책은 /etc/udev/rules.d/50-spice.rules 파일을 만든 다음 /usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess 섹션 <allow_any>yes</allow_any>아래 <defaults>에 추가하는 것이었습니다. 정책. 수정 후 파일은 내 컴퓨터에서 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
          "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
          "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>

  <vendor>The Spice Project</vendor>
  <vendor_url>http://spice-space.org/</vendor_url>
  <icon_name>spice</icon_name>

  <action id="org.spice-space.lowlevelusbaccess">
    <description>Low level USB device access</description>
    <message>Privileges are required for low level USB device access (for usb device pass through).</message>
    <defaults>
      <allow_any>yes</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>

</policyconfig>

답변2

더 정확해야 합니다: (리눅스 배포판에 따라 다름):

파일: /etc/polkit-default-privs/local 또는 /etc/polkit-default-privs.local

파일에 다음 행을 추가하십시오(또는 파일/디렉토리를 생성하십시오): org.spice-space.lowlevelusbaccess yes:no:yes

이 실행 후: /sbin/set_polkit_default_privs

opensuse인 경우 추가로 다음을 수행합니다.

/etc/permissions.local 파일에서 이 실행 후 /usr/bin/spice-client-glib-usb-acl-helper root:root 4755 행을 추가하십시오: chkstat --system --set

사이먼

관련 정보