Читати / записувати на послідовний порт без кореня?


31

Я пишу заявку на читання / запис в / з послідовного порту у Fedora14, і це чудово працює, коли я запускаю його як root. Але коли я запускаю його як звичайний користувач, я не можу отримати привілеї, необхідні для доступу до пристрою (/ dev / ttySx). Це щось хитро, бо зараз я не можу насправді налагодити прокляту річ за допомогою Eclipse.

Я спробував запустити Eclipse з sudo, але це пошкоджує мою робочу область, і я навіть не можу відкрити проект. Тож я хотів би знати, чи можна знизити вимоги доступу для запису в / dev / ttySx, щоб будь-який звичайний користувач міг отримати доступ до нього. Чи можливо це?

Відповіді:


46

Право на доступ до послідовного порту визначається дозволами файлу пристрою (наприклад /dev/ttyS0). Отже, все, що вам потрібно зробити, - це або домовитись про те, щоб ваш пристрій належав вам, або (краще) ставити себе в групу, яка є власником пристрою, або (якщо Fedora підтримує його, що я думаю, що це робить) домовитись, щоб пристрій здійснив належать користувачеві, який увійшов на консоль.

Наприклад, у моїй системі (а не Fedora), що /dev/ttyS0належить користувачеві rootта групі dialout, тож, щоб мати доступ до послідовного пристрою, я би додав себе до dialoutгрупи:

usermod -a -G dialout MY_USER_NAME

1
Я збираюсь прийняти цю, оскільки вона перевела мене на правильний шлях. Для Fedora команда usermod використовується після створення користувача. Група, про яку йдеться, також була для мене діалотом: sudo usermod -a -G dialout <username>. Ура.
iegod

5
Зауважте, що вам може знадобитися вийти та увійти, щоб з’явитися в новій групі
Jan Špaček,

1
За популярним попитом: sudo usermod -a -G dialout $USER:-)
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

0

У багатьох дистрибутивах використовується членство в групі для доступу до послідовних портів. Однак я не знаю деталей для Fedora.


0

Я думаю, ви можете додати себе у файл sudoers, який дозволить вам вказати набір команд як псевдонім команд, який ви могли б виконати без пароля. Ви можете знайти відмінний підручник про файл sudoers у документах Ubuntu .

Потім ви можете запустити eclipse нормально, і це зможе виконувати ці конкретні команди без кореневих дозволів.


-2

У мене була проблема також у той же день, окрім додавання користувача до групи діалотів, потрібно також дати дозвіл для цього користувача на доступ / dev. просто su -> введіть пароль root -> chmod -R 777 / dev -R, означає рекурсивний режим, все в цій папці матиме той самий дозвіл

проблема в цьому, вам потрібно це робити щоразу, коли ви перезавантажуєте комп'ютер або підключаєте і виймаєте свій пристрій так !!!


3
chmod -R 777 /devдуже погана ідея.
RalfFriedl

Яа погоджуєтесь, якщо для цього є якась інша пропозиція, це буде чудово
Туну Йолім Нгаджіло

Цікаво, чи вам потрібно було вийти і знову знову, як у коментарі до прийнятої відповіді? Це часто обманює людей.
sourcejedi

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