Як дозволити не-root доступ до / ttyUSB0?


35

З моменту оновлення з 10.04 до 12.04 я не можу отримати доступ до пристрою, підключеного в / ttyUSB0, якщо у мене немає доступу до кореня. Щоб бути більш конкретним, я використовую перетворювач комбінованого порту USB для доступу та налаштування обладнання Cisco з програмним забезпеченням під назвою Putty. Буває, що, оскільки я оновив до 12.04, Puttyвін бачить підключений пристрій лише тоді, коли запускаю його як gksudo putty. Якщо ні, він говорить "не в змозі підключитися до порту / ttyUSB0". Мені вдалося змінити дозволи через chmod 666, і він працює, але якщо відключити usb і знову підключитися, він повернеться лише до root. Як я можу назавжди дозволити некоріозний доступ? У мене є поняття, що це може бути через правила udev, але я не маю уявлення, як це зробити.

обс. Виробник та драйвери "PROLIFIC"

Відповіді:


10

Можливо, це пов’язано з модемменеджером , про що докладно описано тут .

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

Вам все одно потрібно бути в dialoutгрупі.


1
Що робити, якщо я не можу видалити modemmanager? У мене є друг, який має 3G модем, і, здається, він не може видалити modemmanager через це. Як він може отримати доступ до / ttyUSB0 12.04 без кореня, але не видаляючи modemmanager?
Леонардо Чорногорія

Можна спробувати, зупинивши його? 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
Kudos для включення "може знадобитися вийти та знову".
Роб Столеклін

1
В Ubuntu (я 18.04) вихід із системи / вхід не працює. нам доведеться перезавантажуватися після користувальницької роботи.
Суджай Фадке

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

Мені довелося перезавантажити, щоб змусити це працювати. Логофф не поширював зміни.
користувач1182988

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
Ласкаво просимо до Ask Ubuntu! Рекомендую відредагувати цю відповідь, щоб розширити її конкретними деталями про те, як це зробити. (Дивіться також Як я можу написати гарну відповідь? Для загальних порад про те, які типи відповідей вважаються найціннішими на Ask Ubuntu.)
David Foerster

-4

перейдіть до папки / etc / та відредагуйте файл групи, додайте таке ім’я користувача, як це dialout:x:20:USER

працював ідеально для мене :)


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