我安裝了 Fedora 16,並在虛擬機器中使用 Garmin Forerunner 610 HRM。問題是我需要允許 Windows 7 直接存取與 Garmin 手錶通訊的 USB 隨身碟。
我一直能夠透過執行以下操作來做到這一點:
- 我啟動 Windows 7 KVM 並登入。
- 我插入 USB 隨身碟
- 我在virt-manager中將相應的USB設備添加到VM中。
- 我用http://www.nirsoft.net/utils/usb_devices_view.html“啟用”USB 設備。
- 關閉 VM 並從 VM 中刪除 USB 裝置。
此時,Garmin 的軟體找到了該棒,我就可以使用它了。我很好奇的是,每當我拔出 U 盤時會發生什麼。當我這樣做時,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 的進程不引用檔案名稱。你應該報告一下。