Простой вопрос: как добавить правило для карт флэш-памяти с интерфейсом USB только в /lib/udev/rules.d/
каталог?
Для, например, если я хочу позволить только картам флэш-памяти с интерфейсом USB для моего ПК быть вставленными. Или позвольте только мой флеш-накопитель. Есть ли какой-либо тип устройства/grupot с этой целью?
Кто-либо мог предоставить некоторый пример новичку? Я надеюсь, что легко решить :)
Я ответил на подобный вопрос с примером только что:
Запущение скрипта, когда это обнаруживает ввод-вывод
Используйте эту команду,
udevadm monitor --property
Вставьте USB и проверьте собственность, которая характерна для устройств, которые Вы хотите использовать, например:
ID_TYPE=disk
ID_USB_DRIVER=usb-storage
Затем создайте свое правило
sudo gedit /etc/udev/rules.d/96-myusb.rules
с теми значениями в
ACTION=="add", SUBSYSTEM=="usb",ENV{ID_TYPE}=="disk", ENV{ID_USB_DRIVER}=="usb-storage",RUN+="/usr/local/bin/myusb-add.sh"
ACTION=="remove", SUBSYSTEM=="usb",ENV{ID_TYPE}=="disk",ENV{ID_USB_DRIVER}=="usb-storage",RUN+="/usr/local/bin/myusb-remove.sh"
Файл правил будет только влиять на те устройства, которые соответствуют ENV{ID_TYPE}
и ENV{ID_USB_DRIVER}
. Это не будет влиять ни на какое другое устройство. Если Вы хотите ограничить остальную часть устройств, возможно, можно создать правило, которое соответствует остальной части устройств и ни в чем не выполняет RUN
.
Если Вы хотите выполнить действие только, когда определенное USB-устройство подключено к определенному USB-порту, попытайтесь добавить ENV {DEVPATH} = "yourUSBPATH" в файл правил. Замените yourUSBPATH путь это udevadm monitor --property
отчеты, когда Вы подключаете устройство к порту, который Вы хотите использовать. Я не протестировал это, но я думаю, что это - логический подход.