UbuntuでUSBデバイスの接続状態を監視する方法

  • 作成日 2024.09.12
  • 更新日 2024.09.13
  • ubuntu
UbuntuでUSBデバイスの接続状態を監視する方法

USBデバイスの接続や取り外しを監視することは、セキュリティやトラブルシューティングにおいて重要です。本記事では、UbuntuでUSBデバイスの接続状態を簡単に監視する方法を紹介します。

1. USBデバイス情報を確認するコマンド

USBデバイスが接続されているかを確認する基本的な方法は、lsusb コマンドを使用することです。

lsusb

このコマンドは、接続されているUSBデバイスのリストを表示します。

2. USBデバイスの接続をリアルタイムで監視する

USBデバイスの接続状態をリアルタイムで監視するには、dmesg コマンドを使用します。

lsusb

このコマンドは、USBデバイスが接続された際のシステムログをリアルタイムで表示します。

3. udevルールを使った自動監視

特定のUSBデバイスが接続された際に自動でアクションを実行するには、udev ルールを設定します。まずは、次のディレクトリにルールファイルを作成します。

sudo nano /etc/udev/rules.d/99-usb.rules

例えば、特定のUSBデバイスが接続されたときにスクリプトを実行するルールを作成します。

ACTION=="add", SUBSYSTEM=="usb", RUN+="/path/to/script.sh"

4. USBデバイスの接続状態をログに記録する

USBデバイスの接続状態をログに記録するために、以下のスクリプトを作成します。このスクリプトは、udev ルールと組み合わせて使用します。

!/bin/bash
echo "$(date): USB device connected" >> /var/log/usb-monitor.log

このスクリプトを実行することで、USBデバイスが接続された時間をログに記録できます。

5. USBGuardを使用してUSBアクセスを制御する

セキュリティを強化するために、USBGuard をインストールしてUSBデバイスの接続を制御することもできます。

sudo apt install usbguard

USBGuardを設定すると、許可されたデバイスのみが接続できるようになります。

6. USBデバイスの取り外しを監視する

USBデバイスの取り外しも同様に監視可能です。udev ルールを使って、デバイスが取り外されたときに実行するスクリプトを設定します。

ACTION=="remove", SUBSYSTEM=="usb", RUN+="/path/to/remove-script.sh"

これにより、デバイスの取り外し時にもログを残すことができます。