USB 드라이브가 연결되면 어떤 프로세스가 시작/사용되는지 확인하는 방법

USB 드라이브가 연결되면 어떤 프로세스가 시작/사용되는지 확인하는 방법

Debian 시스템에서 AppArmor를 통해 이동식 저장소를 처리하는 데 관련된 프로세스를 제한하고 싶습니다.

이동식 저장 장치(USB)를 연결할 때 데비안은 어떤 프로세스를 사용합니까? 이를 로컬(새로 생성된 프로세스)에서 검색하려면 어떤 도구와 방법을 사용할 수 있습니까?

답변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를 연결하여 테스트합니다.

관련 정보