Я хотел написать сценарий bash, чтобы остановить определенные idVendors от установки, я думал, что должен использовать tail -f /var/log/messages
и сгладить его idVendor и блокировать, что определенный поставщик при обнаружении, может кто-нибудь помочь мне в этом пожалуйста?сценарий bash, чтобы остановить определенный idVendor от установки
ответ
A udev
Правило пригодится здесь. В моей сводной системе я бы просто добавил правило вроде этого (хотя не пробовал). создать файл в
/etc/udev/rules.d/40-do-not-mount.rules
и добавьте строку, как это (замена [VENDOR ID]
и [PRODUCT ID]
с теми, с устройства, wildcards are allowed)
SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]", ATTR{idProduct}=="[PRODUCT ID]",ENV{UDISKS_IGNORE}="1"
затем перезагрузить
udevadm control --reload-rules
тест ваше правило :
udevadm test /sys/dev/block/[device]
он должен вывести что-то вроде
...
UDISKS_IGNORE=1
USEC_INITIALIZED=760036464
unload module index
Unloaded link configuration context
Некоторые ссылки:
Это тот же подход, который я хотел бы предложить, вы были быстрее меня :) – furins
Большое вам спасибо, я попробую и дам вам знать, вы, ребята, ROCK :) – mike
Хорошо, я сделал все, что вы сказали, но это не так. 't work :(Ошибка не появилась, и устройство все еще может быть установлено ... – mike
Вы уже пытались что-то, есть ли у вас минимум кода мы можем работать? Любая дополнительная информация может быть полезна. Если я понимаю, что вы пытаетесь идентифицировать строки типа 'kernel: usb 3-1: найдено новое USB-устройство, idVendor = 03f0, idProduct = 5a07' и пытается их размонтировать, если они установлены? Я прав? – furins
На самом деле я пробовал много вещей, чтобы заставить это работать, но поскольку im new для linux ни один из них не сделал то, что я хотел, и да, это точно мой вопрос, спасибо за ответ так быстро – mike
ОК, нам еще нужна информация. Какое распределение Linux вы используете? почему вам нужно полагаться на '/ var/log/messages' и' idVendors' в скрипте вместо того, чтобы использовать опцию «noauto» для определенного идентификатора устройства в вашей «fstab»? какие периферийные устройства вы пытаетесь размонтировать? если не строго связано с языком сценариев, пожалуйста, подумайте также о том, чтобы опубликовать этот вопрос на http://superuser.com/ – furins