USB 장치를 추가할 때 udev 규칙은 스크립트를 실행할 수 없습니다.

USB 장치를 추가할 때 udev 규칙은 스크립트를 실행할 수 없습니다.

/etc/udev/rules.d/21-persistent-local.rules다음은 가상 머신 내에서 실행되는 Debian 머신의 USB 인터페이스를 사용하여 Seagate 500GB 확장 드라이브에 대해 만든 간단한 규칙입니다 .

ACTION=="add", ENV{DEVTYPE}=="usb_device", ATTRS{ID_SERIAL_SHORT}=="NA453QQS", SUBSYSTEM=="usb", HOTPLUG == 1, \
RUN+="/usr/local/bin/run.sh"

저장 후 실행합니다 udevadm trigger. 마지막으로 드라이브를 연결하고 실행하여 udevadm monitor --env확장 드라이브가 올바르게 로드되었는지 확인했습니다.

add이제 작업에 대해 실행되어야 하는 규칙을 정의했습니다 run.sh. 두 개의 합계 외에는 run.sh아무것도 없습니다 . 그러나 스크립트를 실행할 수 없습니다. 특히 스크립트에는 아무 것도 인쇄되지 않습니다. 커널에 로드한 모듈은 커널 종료 및 진입 시 표시되어야 하는 메시지를 인쇄합니다.sudo insmod foo.kosudo rmmod foo.kodmesgrun.sh

이 문제의 가능한 원인은 무엇입니까?

추신: 위의 규칙 파일에서 나는 이 두 가지를 모두 사용했습니다.ATTRS{...} ID_SERIAL=Seagate_Expansion_NA453QQS ID_SERIAL_SHORT=NA453QQS

관련 정보