2014-12-26 1 views
-1

Я хотел написать сценарий bash, чтобы остановить определенные idVendors от установки, я думал, что должен использовать tail -f /var/log/messages и сгладить его idVendor и блокировать, что определенный поставщик при обнаружении, может кто-нибудь помочь мне в этом пожалуйста?сценарий bash, чтобы остановить определенный idVendor от установки

+0

Вы уже пытались что-то, есть ли у вас минимум кода мы можем работать? Любая дополнительная информация может быть полезна. Если я понимаю, что вы пытаетесь идентифицировать строки типа 'kernel: usb 3-1: найдено новое USB-устройство, idVendor = 03f0, idProduct = 5a07' и пытается их размонтировать, если они установлены? Я прав? – furins

+0

На самом деле я пробовал много вещей, чтобы заставить это работать, но поскольку im new для linux ни один из них не сделал то, что я хотел, и да, это точно мой вопрос, спасибо за ответ так быстро – mike

+0

ОК, нам еще нужна информация. Какое распределение Linux вы используете? почему вам нужно полагаться на '/ var/log/messages' и' idVendors' в скрипте вместо того, чтобы использовать опцию «noauto» для определенного идентификатора устройства в вашей «fstab»? какие периферийные устройства вы пытаетесь размонтировать? если не строго связано с языком сценариев, пожалуйста, подумайте также о том, чтобы опубликовать этот вопрос на http://superuser.com/ – furins

ответ

1

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 


Некоторые ссылки:

+0

Это тот же подход, который я хотел бы предложить, вы были быстрее меня :) – furins

+0

Большое вам спасибо, я попробую и дам вам знать, вы, ребята, ROCK :) – mike

+0

Хорошо, я сделал все, что вы сказали, но это не так. 't work :(Ошибка не появилась, и устройство все еще может быть установлено ... – mike