시스템에 연결된 USB 장치가 부팅 가능한 경우 마운트되지 않도록 udev 규칙을 작성하려고 하는데 해당 장치가 규칙에서 부팅 가능한지 여부를 udev에서 지정하는 방법을 모르겠습니다. 그게 가능합니까? 그렇다면 내 규칙에는 무엇이 포함되어야 합니까?
명확히 말하면 부팅 가능이란 장치에 부팅 시 시작할 수 있는 운영 체제가 있다는 의미입니다.
답변1
udev
MBR 테이블의 파티션 항목 플래그를 포함하여 일부 환경 변수를 파티션 노드(리프 노드)에 추가합니다.부팅 가능한 파티션가 있어야 합니다 ID_PART_ENTRY_FLAGS=0x80
.
이 규칙을 시도하면 모든 환경 변수(원천: udev 스크립트에서 ATTR{idVendor}를 매개변수로 전달합니다.):
KERNEL="sd[a-z][1-9]", RUN+="/bin/sh -c 'echo == >> /home/username/Desktop/usb-storage.txt; env >> /home/username/Desktop/usb-storage.txt'"
Ubuntu 14.04에서 나에게 맞는 규칙은 다음과 같습니다.
ACTION=="add", KERNEL=="sd[a-z][1-9]", ENV{ID_PART_ENTRY_FLAGS}=="0x80", RUN+="/bin/sh -c 'echo 0 > /sys%p/../../../../../../../authorized'"