Odczyt / zapis do portu szeregowego bez rootowania?


31

Piszę aplikację do odczytu / zapisu do / z portu szeregowego w Fedorze 14 i działa świetnie, gdy uruchamiam ją jako root. Ale kiedy uruchamiam go jako zwykły użytkownik, nie mogę uzyskać uprawnień wymaganych do uzyskania dostępu do urządzenia (/ dev / ttySx). To trochę bzdura, ponieważ teraz nie mogę debugować tego cholerstwa za pomocą Eclipse.

Próbowałem uruchomić Eclipse z sudo, ale to psuje mój obszar roboczy i nawet nie mogę otworzyć projektu. Chciałbym więc wiedzieć, czy możliwe jest obniżenie wymagań dostępu do zapisu do / dev / ttySx, aby każdy normalny użytkownik mógł uzyskać do niego dostęp. czy to możliwe?

Odpowiedzi:


46

Prawo dostępu do portu szeregowego jest określone przez uprawnienia do pliku urządzenia (np /dev/ttyS0.). Więc wszystko, co musisz zrobić, to albo ustalić, czy urządzenie będzie własnością ciebie, albo (lepiej) przyłączyć się do grupy, która jest właścicielem urządzenia, lub (jeśli Fedora je obsługuje, co myślę, że tak jest), zorganizować, aby urządzenie należą do użytkownika zalogowanego na konsoli.

Na przykład w moim systemie (nie w Fedorze) /dev/ttyS0jest własnością użytkownika rooti grupy dialout, więc aby móc uzyskać dostęp do urządzenia szeregowego, dodałbym się do dialoutgrupy:

usermod -a -G dialout MY_USER_NAME

1
Zaakceptuję ten, ponieważ doprowadził mnie na właściwą ścieżkę. W przypadku Fedory polecenie usermod jest używane po utworzeniu użytkownika. Grupa, o której mowa, była również dla mnie połączeniem: sudo usermod -a -G dialout <nazwa użytkownika>. Twoje zdrowie.
iegod

5
Pamiętaj, że może być konieczne wylogowanie się i zalogowanie, aby pojawić się w nowej grupie
Jan Špaček

1
Według popularności: sudo usermod -a -G dialout $USER:-)
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

0

Wiele dystrybucji korzysta z członkostwa w grupach, aby umożliwić dostęp do portów szeregowych. Nie znam jednak szczegółów Fedory.


0

Myślę, że możesz dodać siebie w pliku sudoers, który pozwoli ci określić zestaw poleceń jako alias poleceń, które będziesz mógł wykonać bez hasła. Doskonały samouczek na temat pliku sudoers można znaleźć w dokumentacji Ubuntu .

Następnie możesz uruchomić Eclipse normalnie i byłoby w stanie wykonać te konkretne polecenia bez uprawnień roota.


-2

miałem ten problem również w ciągu dnia, oprócz dodania użytkownika do grupy połączeń , musisz również dać temu użytkownikowi pozwolenie na dostęp / dev. po prostu su -> wpisz hasło roota -> chmod -R 777 / dev -R, oznacza tryb rekurencyjny, wszystko w tym folderze będzie miało takie same uprawnienia

Problem w tym, że musisz to robić przy każdym ponownym uruchomieniu komputera lub podłączeniu i wyjęciu urządzenia, huh !!!


3
chmod -R 777 /devto bardzo zły pomysł.
RalfFriedl

Tak, zgadzam się, jeśli jest jakakolwiek inna sugestia, będzie świetnie
Tunu Yolim Ngajilo

Zastanawiam się, czy musiałeś się wylogować i ponownie zalogować, tak jak w komentarzu do zaakceptowanej odpowiedzi? To często potyka ludzi.
sourcejedi

Dawanie bezpłatnego dostępu wszystkim użytkownikom do wszystkiego w / dev / jest wyjątkowo niebezpieczne. Proszę nie rób tego.
unfa
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.