Wie kann man die serielle Schnittstelle / dev / ttyACM0 unter Ubuntu 16.04 beim Start "chmod 777" verwenden?

1412
user2585578

Eine Reihe von Blogs schlug vor, dass ich tippen sollte sudo adduser $USER dialout, aber es zeigte sich bereits, dass das $USERMitglied bereits Mitglied der Gruppe ist dialout, und als ich den Computer neu startete, erhielt das /dev/ttyACM0nicht das Lese- / Schreibrecht.

crw-rw---- 1 root dialout 166, 0 Mar 22 13:53 /dev/ttyACM0 

Ich kenne Ubuntu 16.04 nicht, daher wäre jede Hilfe dankbar.

0

1 Antwort auf die Frage

2
LukeLR

Sie sollten keine Dateien, insbesondere keine Gerätedateien, auf Ihrem Computer mit Weltzugriff erstellen. Das ist ein riesiger Sicherheitsfehler. Gruppenberechtigungsrichtlinien gibt es aus einem bestimmten Grund im Linux-Kernel. Wenn Ihr Benutzer wirklich Mitglied der dialoutGruppe war, hatten Sie bereits Lese- und Schreibberechtigung für diese Datei. Geben Sie idin die Befehlszeile ein, um alle Gruppen aufzulisten, in denen sich Ihr Benutzer befindet. Ist dialoutin dieser Liste? Wenn nicht, müssen Sie es hinzufügen. sudo adduser $USER dialoutEs sollte in Ordnung sein, $USERzu einer dialoutGruppe hinzuzufügen, aber dies ist ein Ubuntu-spezifischer Wrapper. Die korrekte Art und Weise, Ihren Benutzer zur dialoutGruppe auf Linux hinzuzufügen, wäre der sudo usermod -aG $USER dialout. Prüfen Sie, ob das besser funktioniert. Sie können auch versuchen, cat /dev/ttyACM0um zu sehen, ob Ihre Benutzer wirklich die Berechtigung für diese Datei gelesen hat, wenn es hadn t, youeinen bekommen d Permission deniedFehler.

Wenn Ihr Benutzer Mitglied der dialoutGruppe ist, Ihre Anwendung jedoch immer noch nicht auf dieses Gerät zugreifen kann, stellen Sie sicher, dass Ihre Anwendung wirklich als Ihr Benutzer ausgeführt wird oder aufgrund eines Startskripts nicht als anderer Benutzer. Stellen Sie außerdem sicher, dass diese Datei wirklich Ihre Anwendung blockiert und nicht etwas anderes. Dafür müssten Sie weitere Informationen angeben.