Wie erlaube ich Nicht-Root-Zugriff auf / ttyUSB0?


35

Seit dem Update von 10.04 auf 12.04 kann ich nicht auf das in / ttyUSB0 verbundene Gerät zugreifen, wenn ich keinen Root-Zugriff habe. Um genauer zu sein, verwende ich einen USB-zu-Seriell-COM-Port-Konverter, um auf Cisco-Geräte mit einer so genannten Software zuzugreifen und diese zu konfigurieren Putty. Es kommt vor, dass ich seit dem Upgrade auf 12.04 Puttydas angeschlossene Gerät nur sehe, wenn ich es als starte gksudo putty. Wenn nicht, wird "Verbindung zu Port / ttyUSB0 nicht möglich" angezeigt. Ich habe es geschafft, die Berechtigungen über chmod 666 zu ändern, und es funktioniert, aber wenn ich den USB trenne und die Verbindung wieder herstelle, geht es nur zurück zu root. Wie erlaube ich permanent Nicht-Root-Zugriff? Ich habe eine Ahnung, ob es sich um udev-Regeln handelt, aber ich habe keine Ahnung, wie ich das machen soll.

obs. Hersteller und Treiber "PROLIFIC"

Antworten:


10

Möglicherweise hängt dies mit dem Modemmanager zusammen , wie hier beschrieben .

Ich habe das ( sudo apt-get remove modemmanager) entfernt und es hat mein Problem behoben.

Sie müssen jedoch immer noch in der dialoutGruppe sein.


1
Was ist, wenn ich den Modemmanager nicht entfernen kann? Ich habe einen Freund, der ein 3G-Modem hat, und es scheint, dass er den Modemmanager aus diesem Grund nicht entfernen kann. Wie kann er unter 12.04 ohne root auf / ttyUSB0 zugreifen, ohne jedoch den modemmanager zu entfernen?
Leonardo Montenegro

Sie können es versuchen, indem Sie es stoppen? sudo stop modemmanagerEs hat bei mir funktioniert.
Aleks

Es ist schon ein paar Jahre her, aber dies ist immer noch der Fall in Ubuntu 17.10. Musste ein sudo apt-get purge modemmanagervorher machen sudo usermod -a -G dialout $USERhatte den gewünschten Effekt.
Stéphane

95

Das Gerät ist höchstwahrscheinlich einer Benutzergruppe zugeordnet dialout. Fügen Sie einfach Ihren Benutzer zur Einwählgruppe hinzu, damit Sie über die entsprechenden Berechtigungen für das Gerät verfügen.

sudo usermod -a -G dialout $USER

(Möglicherweise müssen Sie sich abmelden und wieder anmelden, damit die neue Gruppe wirksam wird.)

Keine Notwendigkeit, mit Berechtigungen oder udev-Regeln herumzuspielen.


3
Ich melde mich an, um zu stimmen. Die sauberste Lösung.
Yildirimyigit

1
@ tom-hennen Ich denke, du solltest es zuerst als Kommentar hinzufügen, anstatt es direkt zu bearbeiten.
MadMike

2
Dies funktioniert nicht für Debian
Mike

1
Ein großes Lob für das Einfügen von "Möglicherweise müssen Sie sich abmelden und wieder anmelden".
Rob Stoecklein

1
In Ubuntu (ich bin am 18.04) funktioniert das Abmelden / Anmelden nicht. wir müssen neu starten, nachdem wir usermod gemacht haben.
Sujay Phadke

7
sudo adduser <the user you want to add> dialout
sudo reboot

Erwähnt durch "Try now" hat bei mir funktioniert. Stellen Sie sicher, dass Sie dialoutals Gruppe haben für ttyUSB0:

ls -l /dev/ttyUSB0

in meinem Fall ist die Ausgabe:

crw-rw---T 1 root dialout 188, 0 Feb 12 12:01 /dev/ttyUSB0

In Linux Mint 18 Cinnamon erhalte ich diesen Fehler, wenn ich 'ls -l / dev / ttyUSB0' anrufe: Ich kann nicht auf '/ dev / ttyUSB0' zugreifen: Keine solche Datei oder Verzeichnis
flyingdrifter

2

Das hat bei mir funktioniert. Drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen den folgenden Befehl aus.

sudo adduser <the user you want to add> dialout
sudo reboot
id -Gn

Versuche es jetzt.



2

Ich habe beides versucht

sudo usermod -a -G dialout $USER #(worked perfectly)

Und sudo chmod 666 /dev/ttyUSB0(funktionierte, musste aber den Befehl erneut eingeben)

Ich habe auch den Modus-Manager entfernt, aber nicht wirklich geholfen. Daher war der beste Befehl, der für mich funktioniert hat

sudo usermod -a -G dialout $USER

0

Unter Ubuntu 18.04 musste ich mich der tty-Gruppe hinzufügen.

Die Ausgabe des minicom-Befehls hat mich angedeutet:

minicom  /dev/ttyUSB0
minicom: cannot open /dev/tty8: Permission denied


ls -la /dev/tty8
crw--w---- 1 root tty 4, 8 juil. 31 08:27 /dev/tty

0

Unter Ubuntu 18.04:

  1. sudo adduser <user> dialout
  2. Voller Neustart , aus irgendeinem Grund reicht ein einfaches Abmelden / Anmelden nicht aus ( Fehlerbericht. ).

-1

Ich hatte dieses Problem mit / dev / ttyS0 in Mint Rosa. Das Hinzufügen des Benutzers zur Einwählgruppe ist erforderlich, aber in meinem Fall war der Gerätezugriff eingeschränkt und ich musste ihn erweitern, um den Schreib- / Lesezugriff auch auf Gruppenebene zu ermöglichen.


1
Willkommen bei Ask Ubuntu! Ich empfehle , diese Antwort zu bearbeiten , um sie mit spezifischen Details zu erweitern. (Siehe auch Wie schreibe ich eine gute Antwort ?, um allgemeine Ratschläge zu erhalten, welche Arten von Antworten auf Ask Ubuntu als am wertvollsten erachtet werden.)
David Foerster

-4

Navigieren Sie zu / etc / folder und bearbeiten Sie die Gruppendatei. Fügen Sie Ihren Benutzernamen wie folgt hinzu dialout:x:20:USER

funktionierte perfekt für mich :)


4
Es wird allgemein als schlechte Praxis angesehen, diese Dateien direkt zu bearbeiten, da einige einfache Fehler zum Verlust des Zugriffs führen können.
Flickerfly
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.