Fedora 16 をインストールしており、仮想マシンで Garmin Forerunner 610 HRM を使用しています。問題は、Garmin ウォッチと通信する USB スティックに Windows 7 が直接アクセスできるようにする必要があることです。
私は常に次のことを実行することでそれを実現することができました:
- Windows 7 KVM を起動してログインします。
- USBスティックを差し込む
- virt-manager で VM に対応する USB デバイスを追加します。
- 私が使うhttp://www.nirsoft.net/utils/usb_devices_view.htmlUSB デバイスを「有効」にします。
- VM をシャットダウンし、VM から USB デバイスを取り外します。
この時点で、Garmin のソフトウェアがスティックを検出し、使用できるようになります。私が興味を持っているのは、USB スティックを抜くたびに何が起こるかということです。そうすると、setroubleshootd がおかしくなり、CPU を 100% 使用し、メモリを 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 を呼び出そうとするプロセスは、ファイル名を引用しません。報告する必要があります。