セキュリティ上の理由から、特定のUSBポートで入力デバイスが機能しないようにしたいと思います。このポートでは、非入力機能(大容量記憶装置やttyUSBなど)を使用できる必要があります。入力デバイスは他のUSBポートで動作している必要があります。
「使用できません」とは、たとえば、そのデバイスが/dev/input/eventX
作成されておらず、通常のフレームワーク(X11、Linuxコンソール)がデバイスの入力を許可していないことを意味します。
udevルールを使用してUSBポートを識別できます。
DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7/2-1.7.1/*"
しかし、無効にする方法がわかりません。
古代のudevバージョンがサポートされましたが、OPTIONS+="ignore_device"
このオプションは消えました。
どうすればいいですか?
答え1
可能な入力デバイスの種類ごとに、次の規則を作成する必要があります。
- ID_INPUT_KEYBOARD
- ID_INPUT_KEY
- ID_INPUT_MOUSE
- ID_INPUT_タッチパッド
- ID_input_tablet
- ID_INPUT_JOYSTICK
ルールは、その名前の環境変数がnullでないかどうかをテストします。たとえば、?*
1つ以上の文字がある場合にのみ、一致するglobパターンと一致します。たとえば、
ENV{ID_INPUT_KEYBOARD}=="?*"
各ルールで一致する場合は、authorized
デバイスのプロパティを0に設定します。たとえば、次のようになります。
ATTR{authorized}="0"
将来の規則によって上書きされないように、次のように置き換えることをお勧めします=
。:=
これは一般的なルールを提供します。
ACTION=="add", DEVPATH=="...", ENV{ID_INPUT_KEYBOARD}=="?*", ATTR{authorized}:="0"
バラよりこのプレゼンテーション著者:エイドリアンクレンショー