Jak trwale zmienić uprawnienia dla / dev / ttyS0?

8

Mój system to Ubuntu 13.04 i działa dobrze, ale zainstalowałem VirtuaBox, aby uruchomić system Windows XP, co jest dla mnie niezbędne do uruchomienia aplikacji, która komunikuje się z ustawieniem alarmu przez adapter USB-szeregowy.

VirtualBox używa ttyS0 jako portu szeregowego, a komunikacja może rozpocząć się skutecznie tylko wtedy, gdy polecenie sudo chmod 666 /dev/ttyS0zostanie wydane terminalowi.

Za każdym razem, gdy uruchamiam Ubuntu, ttyS0uprawnienia wracają do wartości domyślnych i muszę je uruchamiać przy chmodkażdym uruchomieniu.

Moje pytanie brzmi: jak mogę na stałe zmienić uprawnienia do pliku / dev / ttyS0? Jeśli nie jest to dobra praktyka, czy istnieją inne sposoby rozwiązania problemu?

Claudio
źródło

Odpowiedzi:

16

Nie ma potrzeby zmiany uprawnień do pliku systemowego. Urządzenia szeregowe mają następujące domyślne uprawnienia:

crw-rw---- 1 root dialout ... /dev/ttyS0

Wszystko, co musisz zrobić, to dodać użytkownika do dialoutgrupy:

sudo adduser $USER dialout
Eric Carvalho
źródło
Dzięki Eric, Twoje rozwiązanie zadziałało dla mnie po ponownym uruchomieniu! Claudio :)
Claudio
ponowne uruchomienie nie jest wymagane, wystarczy ponownie zalogować się. jeśli nie chcesz zamykać sesji, możesz to zrobić ssh $USER@localhost(jeśli masz openssh-serverzainstalowany) i użyć tego terminala.
rrosa
2

Rozwiązanie 1: sprawdź grupę ttyS0, a następnie przypisz ją do użytkownika, a następnie zaloguj się ponownie lub użyj tego użytkownika

crw-rw---- 1 root dialout 4, 64 feb 28 18:23 /dev/ttyS0
usermod -aG dialout youruser
su - youruser

Rozwiązanie 2: Jeśli nie podoba ci się pierwsze rozwiązanie, edytuj /etc/udev/rules.d/50-tty.rules

KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="whateveryouwant"

zrestartuj udev lub uruchom ponownie i oczywiście przed dodaniem użytkownika do wybranej grupy

Elbarna
źródło