Udev를 통해 USB를 화이트리스트에 등록

Udev를 통해 USB를 화이트리스트에 등록

USB 장치를 화이트리스트에 추가할 계획입니다. 처음에는 모든 것이 거부되고 일부는 화이트리스트에 추가됩니다.

UDEV에 이러한 규칙을 작성했지만 작동하지 않는 것 같습니다. 그냥 모든 걸 부정하는 거죠. 규칙은 다음과 같습니다.

  • 모두 거부:

    ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"
    
  • SanDisk Pendrive 허용:

    ACTION=="add", SUBSYSTEMS=="usb",ATTR{manufacturer}=="SanDisk", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
    

어떤 도움이라도 대단히 감사하겠습니다.

답변1

  • 첫 번째 규칙은 상위 노드(USB 허브, USB 포트...USB 장치)를 거부합니다. sysfs는 트리라는 것을 기억하세요.

  • 리프(USB 장치)를 대상으로 해야 합니다.

  • GOTO여러 규칙을 사용하여 관리하는 대신 단일 규칙을 사용할 수 있습니다.

다음을 확인하세요(현재 컴퓨터의 장치 이름 예:) 2-1.2:1.0.

ACTION=="add", KERNEL=="[0-9]-[0-9].[0-9]:[0-9].[0-9]", SUBSYSTEMS=="usb", ATTR{manufacturer}!="SanDisk", RUN+="/bin/sh -c 'echo 0 >/sys$DEVPATH/authorized'"

관련 정보