Настройте разрешения для /dev/ttyUSB0

Настройте разрешения для /dev/ttyUSB0

Я пытаюсь связаться с Arduino из Ubuntu 12.04. При подключении кабеля USB последовательный порт arduino отображается как /dev/ttyUSB0. Когда я пытаюсь подключиться к нему с помощьюmoserial, я получаю сообщение об ошибке «Не удалось открыть устройство /dev/ttyUSB0», но не при запускеmoserialс использованиемсудо. Что мне нужно настроить, чтобы сделать последовательное устройство доступным для обычного пользователя без прав root?

решение1

У вас есть несколько вариантов:

Автоматическое назначение ACL

Скорее всего, у вас в Ubuntu запущены systemd-logind или ConsoleKit, которые могут автоматически настраивать ACL на узлах устройств на основе того, какая учетная запись пользователя в данный момент вошла в консоль. Эти ACL предоставляют доступ в дополнение к обычным разрешениям и могут быть просмотрены с помощью getfacl.

Чтобы использовать это, добавьте следующее к /etc/udev/rules.d/60-extra-acl.rules1 :

KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess"

( 1 Да, создайте файл. По умолчанию он не существует; весь каталог предназначен для настроек администратора.)

Групповой доступ

Устройства tty обычно доступны для чтения/записи определеннымгруппанапример "dialout" или "uucp". Добавьте себя в эту группу, чтобы получить доступ квсепоследовательные порты:

# gpasswd -a YourUsername dialout

Не забудьте выйти из системы и войти снова, чтобы изменения в группе вступили в силу.

Изменения разрешения или права собственности

Правила udev, аналогичные приведенным выше, также можно использовать для установки "главного" владельца и группы, а также разрешений (именно так изначально была установлена ​​группа по умолчанию). Например:

     KERNEL=="ttyUSB[0-9]*", OWNER="YourUsername"
or:  KERNEL=="ttyUSB[0-9]*", GROUP="users", MODE="0660"
or:  KERNEL=="ttyUSB[0-9]*", MODE="0666"

Вы можете назначить параметры OWNER, GROUP и MODE.

Временное ручное изменение

Чтобы сделатьодин разизмените, просто используйте chmodи/или chownкак обычно.

     # chown YourUsername /dev/ttyUSB0
or:  # chmod a+rw /dev/ttyUSB0

Связанный контент