Linux KVM 下 Win7 上的 Garmin USB 设备

Linux KVM 下 Win7 上的 Garmin USB 设备

我安装了 Fedora 16,并在虚拟机中使用 Garmin Forerunner 610 HRM。问题是我需要允许 Windows 7 直接访问与 Garmin 手表通信的 USB 记忆棒。

我一直能够通过执行以下操作来做到这一点:

  1. 我启动 Windows 7 KVM 并登录。
  2. 我插入了 U 盘
  3. 我在virt-manager中将相应的USB设备添加到VM。
  4. 我用http://www.nirsoft.net/utils/usb_devices_view.html“启用” USB 设备。
  5. 关闭虚拟机并从虚拟机中移除 USB 设备。

此时 Garmin 的软件找到了 USB 棒,我可以使用。我很好奇的是,每当我拔出 USB 棒时会发生什么。当我这样做时,setroubleshootd 变得疯狂,开始占用 100% 的 CPU 和近 2G 的内存。因此我尝试了...

# sealert -a /var/log/audit/audit.log
  0% donesh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `{ rpm -qf /dev/bus/usb/001/008 (deleted); } 2>&1'

然后我不断收到此信息,直到地狱结冰。有没有办法防止这种情况发生?脚本无法解析的 audit.log 中的实际行是:

type=SYSCALL msg=audit(1336526335.863:206633): arch=c000003e syscall=16 success=no exit=-13 a0=1b a1=4008550d a2=7fff12ffb3a0 
a3=7fff12ffb530 items=0 ppid=1 pid=13343 auid=4294967295 uid=107 gid=107 euid=107 suid=107 fsuid=107 egid=107 sgid=107 fsgid=1
07 tty=(none) ses=4294967295 comm="qemu-kvm" exe="/usr/bin/qemu-kvm" subj=system_u:system_r:svirt_t:s0:c298,c678 key=(null)
type=AVC msg=audit(1336526335.863:206634): avc:  denied  { ioctl } for  pid=13343 comm="qemu-kvm" path=2F6465762F6275732F75736
22F3030312F303038202864656C6574656429 dev="devtmpfs" ino=523297 scontext=system_u:system_r:svirt_t:s0:c298,c678 tcontext=syste
m_u:object_r:usb_device_t:s0 tclass=chr_file

答案1

某处有一个错误。尝试在“/dev/bus/usb/001/008 (已删除)”上调用 rpm 的进程没有引用文件名。您应该报告此问题。

相关内容