禁用所有 USB 存储设备并根据 Vendorid 启用一些设备

禁用所有 USB 存储设备并根据 Vendorid 启用一些设备

我尝试添加以下 udev 规则

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

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

但它禁用了所有 USB 设备(USB 键盘和鼠标)。

请建议我如何允许除存储设备之外的其他设备。

答案1

您可以使用不等式来表示例外:

ACTION=="add", DRIVERS=="usb-storage", ATTRS{idVendor}!="054c", RUN+="/bin/sh -c 'echo 0 >/sys%p/authorized'"

相关内容