У меня есть USB-весы, USB HID. В настоящее время, когда он подключен, разрешения разрешают только суперпользователю доступ к нему. Как настроить udev, чтобы кто-нибудь мог получить доступ к этому устройству? У меня есть идентификаторы поставщика и продукта, но я бы хотел сопоставить их на основе типа HID.
Прямо сейчас у меня возникают проблемы с поиском любого существующего правила, которое применимо к этому (я выбрал «hidraw» /lib/udev/rules.d
и /etc/udev/rules.d
, кроме всего прочего).
источник
.rules
расширение. Файл с.conf
расширением не будет работать.lsusb -vvv
чтобы получить idProduct и idVendorlsusb
это хорошее начало, чтобы увидеть, что связано и идентификаторы.idVendor
иidProduct
совпадения кажутся чувствительными к регистру , поэтому IDDA77
не работает для меня, ноda77
работает. (Handy диагностики:udevadm info --attribute-walk /dev/bus/usb/008/023
, автобус 008 устройства 023 мой пример;lsusb
. Для вас) После добавления правила,sudo udevadm control --reload-rules
а затемsudo udevadm trigger
позволяет избежать перезагрузки: изменения секунд после этого. ATTR против ATTRS не делали шансов. Мой .rules файл гласит:SUBSYSTEM=="usb", ATTR{idVendor}=="da77", ATTR{idProduct}=="d12e", GROUP="users", MODE="0666"
.Просто для краткости:
Вы можете фильтровать по:
И использовать:
== Сравните на равенство.
! = Сравните по неравенству.
= Присвоить значение ключу. Ключи, представляющие список, сбрасываются, и присваивается только это единственное значение.
+ = Добавить значение к ключу, который содержит список записей.
: = Окончательно назначить значение ключу; запретить любые последующие изменения.
Вы можете указать конкретному новому устройству новый путь в / dev / ...
Пример:
Результаты в:
Вы можете легко получить доступ к устройству через «/ dev / hiddevx» или через «/ dev / myhid», каждый пользователь в группе «cdrom» может читать с устройства. Владелец 'user28' может читать и писать.
или самый простой:
Результат: каждый пользователь может получить доступ к каждому устройству hiddevice от поставщика 0x16c0
Подробнее см .: Документы
источник
:=
не для сравнения. Документы говорят: «Присвойте значение ключу окончательно; запретите любые последующие изменения».В случае, если вам нужно изменить (как я)
ttyACM0
разрешения, это мои настройки:Не удалось, когда я попытался указать поставщика и идентификатор продукта. Я не уверен почему.
источник
Если это устройство HIDRAW, вы должны
где X - номер скрытого устройства, например, hidraw0. ты можешь сделать
чтобы увидеть список :) Или просто сделать
устанавливать для всех устройств hidraw, вероятно, не рекомендуется.
источник
Ubuntu 18.04 обновление / уточнение:
Ответ Киса Кука близок, но требует 18 изменений для работы в 18.04 (текущий выпуск и только один, на котором я проверял это).
Но с вашими шестнадцатеричными значениями idVendor и idProduct.
источник
ATTRS
как для поставщика, так и для идентификатора продукта? Тогда ваш пример кода неверен (точно так же, как вы указали две строки позже).