Смоленск 1.6 Подключение устройств в различных режимах

MArtiro

New member
Сообщения
5
#1
Имеется устройство (GPS приемник с телеметрией), которое подключается к ПК с ОС Astra Linux Special Edition (очередное обновление 1.6) через порт USB. В системе регистрируется по адресу "/dev/ttyUSB0". Устройство непрерывно отправляет сообщения через serial, которые необходимо читать и обрабатывать. Пользователь включен в группу "dialout". В "нулевом" режиме всё прекрасно работает, устройство распознается и осуществляется прием сообщений от него. Однако, при переходе в другие режимы (1 или 2) прием сообщений не происходит. Устройство видно, считываются его параметры, но сообщения от него не принимаются.
Пытались настроить устройство через "Управление политикой безопасности" в разделе "Устройства и правила", но результата это не дало.
Подскажите, в какую сторону начать копать? Где можно почитать по этой теме информацию. В руководстве по СЗИ не нашли. Может не то искали?
Возможно, что-то не так настраивали?
 

MArtiro

New member
Сообщения
5
#3
Попробуйте на файл устройства /dev... установить мандатный атрибут ehole
https://wiki.astralinux.ru/pages/viewpage.action?pageId=48763550
Спасибо!
Способ срабатывает, если вручную, через консоль, устанавливаю мандатный атрибут
sudo pdpl-file 0:0:0:ehole /dev/ttyUSB0
Естественно, при физическом переподключении устройства (или после перезагрузки ПК), эта настройка пропадает.

Как сделать так, чтобы это свойство (ehole) автоматически применялось к этому устройству каждый раз при подключении (перезагрузки)?

P.S. Настроил устройство в "Управление политикой безопасности" в разделе "Устройства и правила". Может эту настройку где-то здесь можно прописать? Или в файле "/etc/udev/rules.d/..."?
 

MArtiro

New member
Сообщения
5
#5
Правилами udev.
Пример можно найти в wiki с оптическими приводами
https://wiki.astralinux.ru/pages/viewpage.action?pageId=217187404
Доработать приведённое правило под свой случай. Дерзайте коллега...
Что-то не выходит "каменный цветок".
Такое чувство, что в этой инструкции не учитываются особенности, которые возникают при смене "Уровня" сессии больше, чем "0".
Пытаюсь добиться чтобы хоть что-то прореагировало.
Создал правило в "/lib/udev/rules.d/99zz-dev.rules":
Bash:
SUBSYSTEM=="usb", ACTION=="add", RUN+="/bin/bash pdpl-file 0:0:0:ehole /dev/ttyUSB0"
Не срабатывает.
Пытался в опции "RUN" сделать запуск простенького скрипта, но он выполняется только в несекретном режиме.

Итого, в секретном режиме (т.е. > 0) у пользователя нет доступа на чтение/запись в порт. При этом, если запускать чтение через "sudo", данные проходят. Причем без всяких правил.
Такое чувство, что пользователь не имеет прав на чтение/запись в COM-порт в отличном от "0" режиме, несмотря на то, что состоит в группе "dialout".