Как мне разрешить не-root доступ к / ttyUSB0?


35

Поскольку я обновил с 10.04 до 12.04, я не могу получить доступ к устройству, подключенному в / ttyUSB0, если у меня нет root-доступа. Чтобы быть более точным, я использую преобразователь последовательного порта USB в последовательный порт для доступа и настройки оборудования Cisco с помощью программного обеспечения Putty. Случается, что, так как я обновил до 12.04, Puttyвидит подключенное устройство, только когда я запускаю его как gksudo putty. Если нет, он говорит "невозможно подключиться к порту / ttyUSB0". Мне удалось изменить разрешения через CHMOD 666, и это работает, но если я отключаю USB и снова подключаюсь, он возвращается только к root. Как мне разрешить постоянный доступ без полномочий root? У меня есть подсказка, что это может быть с помощью правил udev, но я не знаю, как это сделать.

обсервованный Производитель и драйверы "ПРОЛИФИК"

Ответы:


10

Возможно, это связано с modemmanager , как подробно описано здесь .

Я удалил это ( sudo apt-get remove modemmanager), и это решило мою проблему.

Вы все еще должны быть в dialoutгруппе, хотя.


1
Что делать, если я не могу удалить модем-менеджер? У меня есть друг, у которого есть модем 3G, и кажется, что он не может удалить модем-менеджер из-за этого. Как он может получить доступ к / ttyUSB0 на 12.04 без рута, но без удаления модем-менеджера?
Леонардо Монтенегро

Вы можете попробовать, остановив это? sudo stop modemmanagerЭто сработало для меня.
Алекс

Прошло несколько лет, но это все еще так в Ubuntu 17.10. Пришлось сделать sudo apt-get purge modemmanagerраньше, sudo usermod -a -G dialout $USERимел желаемый эффект.
Стефан

95

Устройство, скорее всего, подключено к группе пользователей dialout. Просто добавьте своего пользователя в группу дозвона, чтобы иметь соответствующие разрешения на устройстве.

sudo usermod -a -G dialout $USER

(Вам может потребоваться выйти из системы и снова войти в нее, чтобы новая группа вступила в силу.)

Не нужно возиться с разрешениями или правилами udev.


3
Я вхожу в систему, чтобы проголосовать. Самое чистое решение.
yildirimyigit

1
@ tom-hennen Полагаю, вы должны сначала добавить его в качестве комментария, а не редактировать его напрямую.
MadMike

2
Это не работает для Debian
Майк

1
Престижность за включение "может потребоваться выйти и вернуться в".
Роб Штекляйн

1
В Ubuntu (я на 18.04) выход / вход не работает. мы должны перезагрузиться после выполнения usermod.
Суджай Пхадке

7
sudo adduser <the user you want to add> dialout
sudo reboot

Упомянутый «Попробуй сейчас» сработал для меня. Убедитесь, что у вас есть dialoutгруппа для ttyUSB0:

ls -l /dev/ttyUSB0

в моем случае вывод:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0

в Linux Mint 18 Cinnamon Я получаю эту ошибку при вызове 'ls -l / dev / ttyUSB0' ls: невозможно получить доступ к '/ dev / ttyUSB0': нет такого файла или каталога
flyingdrifter

2

Это сработало для меня. Просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.

sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn

Попробуй сейчас.


2

Как сообщает Rinzwind , начните с ввода:

sudo usermod -a -G dialout $USER

Но это только часть решения, так как тогда вы должны перезагрузить систему:

sudo reboot

6
1) Пожалуйста, не оставляйте комментарии как ответы. 2) перезагрузка не требуется; просто выйдите и войдите снова.
gertvdijk

Я должен был перезагрузиться, чтобы заставить это работать. Выход из системы не распространял изменение.
user1182988

2

Я пробовал оба

sudo usermod -a -G dialout $USER #(worked perfectly)

И sudo chmod 666 /dev/ttyUSB0(работал, но пришлось набрать команду снова)

Я тоже убрал менеджер режимов, но не очень помог. Поэтому лучшая команда, которая работала для меня, была

sudo usermod -a -G dialout $USER

0

В Ubuntu 18.04 мне пришлось добавить себя в группу tty.

Я намекнул на вывод команды minicom:

minicom  /dev/ttyUSB0
minicom: cannot open /dev/tty8: Permission denied


ls -la /dev/tty8
crw--w---- 1 root tty 4, 8 juil. 31 08:27 /dev/tty


-1

У меня была эта проблема с / dev / ttyS0 в Mint Rosa. Добавление пользователя в группу удаленного доступа требуется, но в моем случае доступ к устройству был ограничен, и мне пришлось расширить его, чтобы предоставить доступ к уровню группы также.


1
Добро пожаловать в Спросите Ubuntu! Я рекомендую отредактировать этот ответ, чтобы расширить его конкретными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? Для общего совета о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
Дэвид Фёрстер

-4

перейдите в / etc / folder и отредактируйте файл группы, добавив ваше имя пользователя, например dialout:x:20:USER

работал отлично для меня :)


4
Редактирование этих файлов обычно считается плохой практикой, поскольку некоторые простые ошибки могут привести к потере доступа.
flickerfly
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.