Konfigurieren Sie die Berechtigungen für /dev/ttyUSB0

Konfigurieren Sie die Berechtigungen für /dev/ttyUSB0

Ich versuche, mit einem Arduino von Ubuntu 12.04 aus zu kommunizieren. Beim Einstecken des USB-Kabels erscheint der serielle Port des Arduino als /dev/ttyUSB0. Wenn ich versuche, eine Verbindung mit ihm herzustellen,Abonnieren, ich erhalte die Fehlermeldung "Gerät /dev/ttyUSB0 konnte nicht geöffnet werden", aber nicht beim StartenAbonnierenmitsudo. Was muss ich konfigurieren, um das serielle Gerät als normaler Nicht-Root-Benutzer zugänglich zu machen?

Antwort1

Sie haben mehrere Möglichkeiten:

Automatische ACL-Zuweisung

Sie haben höchstwahrscheinlich systemd-logind oder ConsoleKit in Ubuntu ausgeführt. Diese können automatisch ACLs auf Geräteknoten konfigurieren, basierend darauf, welches Benutzerkonto aktuell an der Konsole angemeldet ist. Diese ACLs gewähren zusätzlich zu den üblichen Berechtigungen Zugriff und können mithilfe von angezeigt werden getfacl.

Um dies zu verwenden, fügen Sie Folgendes zu /etc/udev/rules.d/60-extra-acl.rules1 hinzu :

KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess"

( 1 Ja, erstellen Sie die Datei. Sie existiert standardmäßig nicht; das gesamte Verzeichnis ist für Administratoranpassungen vorgesehen.)

Gruppenbasierter Zugriff

Die TTY-Geräte sind normalerweise lesbar/beschreibbar durch einen bestimmtenGruppewie "dialout" oder "uucp". Fügen Sie sich dieser Gruppe hinzu, um Zugriff zu erhalten aufalleserielle Ports:

# gpasswd -a YourUsername dialout

Vergessen Sie nicht, sich ab- und erneut anzumelden, damit die Gruppenänderungen übernommen werden.

Berechtigungs- oder Eigentümerwechsel

Udev-Regeln ähnlich den oben genannten können auch verwendet werden, um den „Haupt“-Eigentümer und die Hauptgruppe sowie die Berechtigungen festzulegen (so wurde die Standardgruppe ursprünglich festgelegt). Beispiel:

     KERNEL=="ttyUSB[0-9]*", OWNER="YourUsername"
or:  KERNEL=="ttyUSB[0-9]*", GROUP="users", MODE="0660"
or:  KERNEL=="ttyUSB[0-9]*", MODE="0666"

Sie können den Parametern OWNER, GROUP und MODE Zuweisungen geben.

Vorübergehende manuelle Änderung

Um eineeinmaländern, verwenden Sie einfach chmodund/oder chownwie gewohnt.

     # chown YourUsername /dev/ttyUSB0
or:  # chmod a+rw /dev/ttyUSB0

verwandte Informationen