Wie ändere ich die Berechtigungen für / dev / ttyS0 dauerhaft?

8

Mein System ist Ubuntu 13.04 und es funktioniert einwandfrei, aber ich habe VirtuaBox installiert, um Windows XP auszuführen. Dies ist für mich wichtig, um eine Anwendung auszuführen, die mit einem Alarm-Setup über einen USB-zu-Seriell-Adapter in Dialog tritt.

VirtualBox verwendet ttyS0 als serielle Schnittstelle und die Kommunikation kann nur auf Befehl effizient gestartet werden sudo chmod 666 /dev/ttyS0 dem Terminal ein erteilt wird.

Jedes Mal, wenn ich Ubuntu starte, ttyS0kehren die Berechtigungen zu den Standardwerten zurück und ich muss ausgeführt werdenchmod jedes Mal werden, wenn ich hochfahre.

Meine Frage ist: Wie kann ich die Dateiberechtigung / dev / ttyS0 dauerhaft ändern? Wenn dies keine gute Praxis ist, gibt es andere Möglichkeiten, um das Problem zu lösen?

Claudio
quelle

Antworten:

16

Die Berechtigungen der Systemdatei müssen nicht geändert werden. Die seriellen Geräte verfügen über die folgenden Standardberechtigungen:

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

Sie müssen also nur den Benutzer zur dialoutGruppe hinzufügen :

sudo adduser $USER dialout
Eric Carvalho
quelle
Danke Eric, deine Lösung hat nach dem Neustart für mich funktioniert! Claudio :)
Claudio
Neustart ist nicht erforderlich, erneutes Anmelden ist ausreichend. Wenn Sie Ihre Sitzung nicht schließen möchten, können ssh $USER@localhostSie openssh-serverdieses Terminal auch verwenden (sofern Sie es installiert haben).
Rrosa
2

Lösung 1: Überprüfen Sie die Gruppe von ttyS0 und weisen Sie sie Ihrem Benutzer zu. Melden Sie sich dann erneut an oder melden Sie sich an

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

Lösung 2: Wenn Ihnen die erste Lösung nicht gefällt, bearbeiten Sie /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"

udev neu starten oder neu starten und natürlich bevor Sie Ihren Benutzer zur ausgewählten Gruppe hinzufügen

Elbarna
quelle