Die Umleitung eines USB-Geräts zu einer virtuellen Maschine mit virt-manager funktioniert nicht

Die Umleitung eines USB-Geräts zu einer virtuellen Maschine mit virt-manager funktioniert nicht

Ich habe eine Fedora-Workstation, auf der eine virtuelle Maschine mit Ubuntu 16.04 (KVM-Hypervisor) läuft. Ich möchte ein USB-Gerät zur VM umleiten, aber wenn ich im virt-manager „Virtuelle Maschine | USB-Gerät umleiten“ auswähle, erhalte ich die folgende Fehlermeldung:

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

Das Fehlerfenster verfügt über einen Abschnitt „Details“, in dem lediglich „USB-Umleitungsfehler“ steht.

Folgendes habe ich bisher erfolglos versucht:

  1. Wie vorgeschlagenHier, ich habe eine Datei /etc/udev/rules.d/50-spice.rules mit dem folgenden Inhalt erstellt, dann eine „Spice“-Gruppe erstellt und meinen Benutzer zu dieser Gruppe hinzugefügt

    SUBSYSTEM=="usb", GROUP="spice", MODE="0660"
    SUBSYSTEM=="usb_device", GROUP="spice", MODE="0660"
    
  2. Spice-GTK von der neuesten Version von Fedora 33 (0.39-1) auf 0.38-3 heruntergestuft.

  3. Deaktiviertes Selinux

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

  5. Upgrade auf Fedora 34, das mit Spice-GTK 0.39-2 geliefert wird

Antwort1

Die Lösung für mich bestand darin, die Dateien /etc/udev/rules.d/50-spice.rules zu erstellen und sie dann <allow_any>yes</allow_any>unter dem <defaults>Abschnitt in /usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess.policy hinzuzufügen. Nach der Änderung sieht die Datei auf meinem Computer folgendermaßen aus:

<?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>

Antwort2

Richtiger sollte es sein: (hängt von der Linux-Distribution ab):

Datei: /etc/polkit-default-privs/local oder /etc/polkit-default-privs.local

füge der Datei die Zeile hinzu (oder erzeuge die Datei/das Verzeichnis): org.spice-space.lowlevelusbaccess yes:no:yes

nach diesem Lauf: /sbin/set_polkit_default_privs

wenn opensuse dann zusätzlich:

Fügen Sie in der Datei /etc/permissions.local die Zeile hinzu: /usr/bin/spice-client-glib-usb-acl-helper root:root 4755. Führen Sie anschließend Folgendes aus: chkstat --system --set

simoN

verwandte Informationen