USBドライブが接続されたら、どのプロセスが起動/使用されているかを確認する方法

USBドライブが接続されたら、どのプロセスが起動/使用されているかを確認する方法

DebianシステムでAppArmorを介してリムーバブルストレージを処理することに関連するプロセスを制限したいと思います。

リムーバブルストレージデバイス(USB)を接続するとき、Debian はどのようなプロセスを使用しますか?これをローカル(新しく作成されたプロセス)から取得するには、どのツールと方法を使用できますか?

ベストアンサー1

以下を使用できます。ウデブいつ検出するルールUSB接続されている場合は、USBが接続されています。シンボリックリンク到着USBデバイスに作成されます/dev/tusb/tmp/usb_plugged.shプロセスのリストを取得するためにスクリプトが実行されます。

1-次の場所でudevルールを作成します/etc/udev/rules.d/99-usb.rules

SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", SYMLINK+="tusb", RUN+="/tmp/usb_plugged.sh"

2-次のスクリプトを追加します/tmp/usb_plugged.sh

#!/bin/bash
## Wait for certain time in case of autorun
sleep 10
## Get list of processes using the usb device block symlink and write the output to /tmp/processes.txt
lsof -Fp /dev/tusb | tr -d '^p' > /tmp/processes.txt

3-スクリプト実行権限を追加する:

chmod +x /tmp/usb_plugged.sh

4-最後にUSBを接続してテストします。

おすすめ記事