Một thiết bị lưu trữ nằm trong blockhệ thống con, vì vậy bạn sẽ muốn SUBSYSTEM=="block"theo quy tắc của mình, như thế này:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
RUN+="/path/to/script"
Nếu bạn đang sử dụng systemd, bạn có thể chạy một systemdthiết bị mỗi lần thiết bị lưu trữ USB được thêm vào. Tạo tệp đơn vị, ví dụ /etc/systemd/system/my-usb-rule.service:
[Service]
Type=oneshot
ExecStart=/path/to/script
và quy tắc, ví dụ /etc/udev/rules.d/85-my-usb-rule.rules:
ACTION=="add", KERNEL=="sd?", SUBSYSTEM=="block", ENV{ID_BUS}=="usb", \
ENV{SYSTEMD_WANTS}="my-usb-rule.service"
Bây giờ udevsẽ kích hoạt my-usb-rule.service(lần lượt sẽ thực thi tập lệnh của bạn) trên bất kỳ sự kiện thêm thiết bị lưu trữ usb nào .
Đừng quên tải lại cấu hình sau khi bạn chỉnh sửa các quy tắc / đơn vị:
udevadm control --reload
systemctl daemon-reload