Как разрешить пользователю, не являющемуся пользователем по умолчанию, использовать последовательное устройство ttyUSB0?

mpstat - статистика отчетов, относящихся к процессорам.

Установить с помощью

sudo apt install sysstat

Ниже будет представлена ​​статистика CPU последних 300 секунд (5 минут).

Команда позволит вам подождать 300 секунд для сбора информации. Чтобы всегда иметь мгновенную статистику, вы можете создать небольшой скрипт для выполнения команды.

while true; do
     mpstat 300 1 > tmpstat
     cp tmpstat laststat
done

Затем cat laststat предоставит вам информацию. (Через)

1
задан 10 November 2017 в 09:18

4 ответа

Вы можете использовать UDEV. Это система, которая запускает каждый раз подключаемый модуль или отключает устройство (среди других вещей). С его помощью вы выполняете различные действия, включая установление разрешений.

Запустите sudoedit /etc/udev/rules.d/50-ttyusb.rules и вставьте это там:

KERNEL=="ttyUSB[0-9]*",NAME="tts/USB%n",SYMLINK+="%k",GROUP="uucp",MODE="0666"

Сохраните, выйдите и замените, и вы должны быть и работает. Установка разрешения на 666 позволяет кому-либо писать на устройство.

Я основываю это на этой странице, которая существует несколько лет назад, но что-то вроде этого должно работать, если решение Джереми не делает.

7
ответ дан 25 May 2018 в 13:32
  • 1
    Это сработало для меня, то есть я использовал правила udev, но я изменил синтаксис в соответствии со своим собственным случаем. linux.m2osw.com/sane-cannot-find-any-scanners - обратите внимание, что если вы используете MODE = " 0666 " то вам, вероятно, не нужна группа. Только тот или другой был бы полезен. – Alexis Wilke 11 March 2014 в 09:18

Фантастическое - решение UDEV, данное здесь, было для меня билетом.

Я установил программу Icom CS-F3020_F5010_F5020 через Wine, создал ссылку для COM-порта следующим образом:

ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 but nothing. 

Тогда я понял, что мне нужно изменить разрешения на / dev / ttyUSB0 чтобы позволить мне получить к нему доступ. Это отлично работает, пока вы не отсоедините / не переустановите USB, а затем вам нужно изменить права доступа.

Я попытался добавить моего пользователя в группу dialout, но по какой-то причине это не решило проблему.

Использование UDEV разрешает финальную часть головоломки. Теперь я могу запрограммировать свою радиостанцию ​​Icom с помощью Linux, подключить и отключить USB / Serial-устройство без каких-либо проблем. Woohoo. Спасибо.

5
ответ дан 25 May 2018 в 13:32

Простой способ:

sudoedit /etc/udev/rules.d/50-myusb.rules

Сохранить этот текст:

KERNEL=="ttyUSB[0-9]*",MODE="0666"
KERNEL=="ttyACM[0-9]*",MODE="0666"

Отключите устройство и замените его, и он должен быть прочитан / написан от любого пользователя! [ ! d2]

4
ответ дан 25 May 2018 в 13:32
  • 1
    Работает в 14.04 для домашнего устройства в гнезде ttyACM. Благодарю. +1 – NonStandardModel 10 May 2016 в 21:35
  • 2
    Работает как шарм. благодаря – ahaw 21 June 2017 в 20:19

Правила udev работают, но, как написано, у них очень неприятный побочный эффект: все устройства ttyUSB* доступны для всех. Это плохо, потому что это может быть угрозой безопасности в зависимости от того, что еще находится в системе.

Вместо этого используйте более избирательное правило udev. Например, у меня есть USB-устройство, которое управляет набором переключателей. Из dmesg, когда он подключен, я могу видеть идентификатор производителя и код продукта (плюс, даже в этом случае, серийный номер для устройства). Я могу добавить:

ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001"

к строкам ядра выше, и правило будет применяться только к этому устройству. Еще лучше, чем назначить только переменную MODE, также установить группу:

GROUP="whatever", MODE="0660"

, тогда только люди в группе «whatever» получат доступ на запись.

John Bowler

1
ответ дан 25 May 2018 в 13:32

Другие вопросы по тегам:

Похожие вопросы: