Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I want to disable usb devices based on vendor id in Linux environment. I want to allow only specific USB devices, based on vendor id.

share|improve this question
How to Block USB/PEN DRIVE in Linux (kali linux) grprajapat.blogspot.in/2014/09/… –  Govind Sep 20 '14 at 6:38
I have one specific vendor:device ID I want to disable cdc_acm for. I have since made this into a separate question. –  mirabilos Nov 3 '14 at 13:52

1 Answer 1

You can make a udev rule that disables devices by default, but enables certain ones by vendor ID. Make a file /etc/udev/rules.d/01-usblockdown.rules that contains a rule to disable devices:

ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"

And then rules to enable the devices you want to allow (you can use ATTR{idVendor} to get at the vendor ID):

ACTION=="add", ATTR{idVendor}=="0000" RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"

See "Locking down Linux using UDEV" for more information.

share|improve this answer
is the above command is enough or we have to do any udevadm trigger to get effect of this. –  subbarao Mar 4 '13 at 9:24
hi Stephane, we have to add both rules to allow specific pendrive? –  subbarao Mar 5 '13 at 5:44
@mirabilos, try asking a separate question. –  Stéphane Chazelas Nov 2 '14 at 19:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.