Я пытаюсь автоматически смонтировать следующее устройство с разрешениями 0666:
lsusb -vvv
Bus 001 Device 094: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6014 FT232H Single HS USB-UART/FIFO IC
bcdDevice 9.00
iManufacturer 1 FTDI
iProduct 2 C232HM-DDHSL-0
iSerial 3 FTVWEM02
bNumConfigurations 1
Для этого я создал следующее правило udev в /etc/udev/rules.d
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", MODE="0666", RUN+="/usr/bin/touch /tmp/udev-test.txt"code here
Как видите, я проверяю работоспособность правила с помощью тестового файла. Файл всегда создается при подключении USB-устройства.
-rw-r--r-- 1 root root 0 Oct 20 09:56 udev-test.txt
Это должно означать, что правило работает... однако оно никогда не дает правильных разрешений.
При запуске ls -l /dev/ttyU*
я получаю следующий результат:
crw-rw---- 1 root dialout 188, 0 Oct 20 09:56 /dev/ttyUSB0
Как ни странно, если я запускаю chmod из командной строки от имени пользователя root, я всегда могу изменить права доступа к устройству. Я бы хотел, чтобы это происходило на каждом плагине автоматически. Не могли бы вы мне помочь?
Я использую Scientific Linux 7
Linux version 4.7.5-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Sat Sep 24 11:54:29 EDT 2016
Темы, которые я уже искал:
- Правило Udev не применяется - решение не работает
- https://stackoverflow.com/questions/34116854/udev-created-my-symblic-link-to-my-device-but-permission-not-set
- Изменить разрешения ttyUSB с помощью udev - если я добавлю KERNEL=="ttyUSB*" или KERNEL =="ttyUSB0" правило больше не работает
- Запустить скрипт с помощью udev после подключения USB к RPi а>