Linux環境でベンダーIDに基づいてusbを無効にします。ベンダーIDのみに基づいて特定のusbのみを許可したい。
これはudev
ルールを使用して可能になりますが、おそらく簡単ではなく、いくつかの実験が必要になります。マウスとキーボードの動作をブロックするなど、誤って誤った操作を行って、ライブUSBスティックでの復元が必要になる可能性があります。私はこれらのコマンドをテストしていません、注意書きです。
優先度の低い番号で新しいファイルを作成します。たとえば、次の内容を持つ/lib/udev/rules.d/20-block-usb.rules
:
BUS=="usb", PROGRAM="/bin/filter_usb.sh %s{idVendor} %s{idProduct}", RESULT!="allow", OPTIONS+="ignore_device"
USBデバイスが挿入されると、/bin/filter_usb.sh
が、デバイスのvendor
およびproduct
IDを引数として呼び出され、allow
をエコーしない限り、デバイス無視する必要があります。例:
#!/bin/sh
vendor=$1
product=$2
if [ "$vendor" = "0123" ]; then
if [ "$product" = "4567" ]; then
echo allow
fi
fi
おそらく、ルールを試すためにudevtest
を調べる必要があります。また、前述のように、マウス、キーボードなどがホワイトリストに登録されていることを確認する必要があります。元のルールでPROGRAM
の前にSUBSYSTEM=="block",
を追加することにより、ブロッキングブロックをUSBブロックデバイスのみに制限することができます。