Я думаю, что причина снова - история. Сначала восьмеричные значения были единственными. Символьные прибыли позже.
Я предпочитаю символьные. Особенно, если Вы действительно хотите изменить существующие значения, не касаясь других частей.
Как chmod -R u=rwx,g-w+X,o=-
выполните в этом восьмеричном...
Можно заставить udev постановить, что это отключает устройства по умолчанию, но включает определенные идентификатором поставщика. Сделайте файл /etc/udev/rules.d/01-usblockdown.rules
это содержит правило отключить устройства:
ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"
И затем правила включить устройства, которые Вы хотите позволить (можно использовать ATTR{idVendor}
достигать идентификатор поставщика):
ACTION=="add", ATTR{idVendor}=="0000" RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
См. "Блокировку вниз Linux с помощью UDEV" для получения дополнительной информации.
(Это, возможно, было лучше, как комментарий, но мне не хватает точек, поэтому расширило его в ответ)
Я пришел сюда в поисках того, как разрешить все USB-устройства, за исключением отключения конкретного поставщика поставщика и идентификатор продукта. Как отключить звуковое устройство USB с UDEV , отвечает на его пример для 0D8C: 000C.
Создать /etc/udev/rules.d/disable-usb-device.rules
:
ACTION=="add", ATTR{idVendor}=="0d8c", ATTR{idProduct}=="000c", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'"
Там там несоответствие между ответом и комментарием ниже с RUN =
VS Run + =
, я попробовал первое, и это работало нормально.
Я ожидал, что DMESG или LUSB сообщил по-другому, но они оба показывают, что уполномоченное устройство, получающее перечисленное так же, как и раньше, но другие процессы / модули, которые будут запущены автоматически, кажется, не работают, который был желаемым эффектом. CAT /SYS/Bus/usb/devices/1-2.2.1.1.4/authorized
(1-2,2 ... Например, которые можно найти в DMESG) показывает, что 0 был помещен в нужное место.
У меня это работало на Ubuntu 20.04:
$ cat /etc/udev/rules.d/81-elan-fingerprint.rules
# ID 04f3:0c28 Elan Microelectronics Corp. ELAN:Fingerprint should be disabled
ACTION=="add", ATTR{idVendor}=="04f3", ATTR{idProduct}=="0c28", RUN="/bin/sh -c 'echo 1 >/sys/\$devpath/remove'"
Это делает USB-устройство непригодным для использования, так как оно удаляется, как только подключается, удаление «ATTR{idProduct}=="0c28"» должно сделать то же самое для всех устройств этого поставщика.