In meinem /dev
Ordner möchte ich, dass die folgenden Dateien vom Benutzer lesbar und beschreibbar sind:
/dev/ttyUSB0
/dev/gpib0
Wie mache ich das ohne zu benutzen chgrp
? Ich kann bearbeiten /etc/udev/rules.d
, kenne aber die Syntax nicht.
permissions
devices
udev
Kit
quelle
quelle
Antworten:
Wie udev-Regeln aufgebaut sind
Für Geräte, die in das Subsystem tty fallen, können Sie ihre Gruppe wie folgt festlegen:
Beachten Sie, dass es sich wie bei der allgemeinen Programmierung
==
um einen Test auf Gleichheit handelt, während=
es sich um eine Zuweisung handelt. Die obige Anweisung bedeutet also "wennSUBSYSTEM=="tty"
dann zuweisen"GROUP="dialout"
. Eine Anweisung kann mehrere Tests, die zusammen erstellt werden, und mehrere Zuweisungen enthalten.Wenn Sie die Lese- / Schreib- / Ausführungsberechtigungen ändern möchten, weisen Sie MODE anstelle von GROUP zu, wobei MODE der üblichen Unix-Oktalschreibweise folgt, z. B.
MODE="0660"
dem Eigentümer und der Gruppe Lese- / Schreibberechtigungen erteilt.man udev
hat alle Details.Viele Beispiele für solche Regeln finden Sie in
/lib/udev/rules.d/91-permissions.rules
So fügen Sie Ihrem System eine udev-Regel hinzu
Sobald Sie sich für eine Regel entschieden haben, können Sie diese einfach hinzufügen. Wechseln Sie auf einem von Debian abgeleiteten System in das Verzeichnis
/etc/udev/rules.d
und erstellen Sie eine Datei. Dateien werden in Sortierreihenfolge ausgeführt. Versuchen Sie also einen Namen wie, damit Ihre Regeldatei die zuletzt gelesene Datei ist und frühere überschreibt99-instruments.rules
. Fügen Sie dann Ihre Regeln in diese Datei ein, eine pro Zeile. (Bei Bedarf können Zeilen erweitert werden, indem wie in der Shell ein Backslash am Ende der Zeile eingefügt wird.)Wenn Sie also Gruppen und Berechtigungen auf tty-Geräten ändern möchten, kann Ihre Datei
/etc/udev/rules.d/99-instruments.rules
aus einer einzelnen Zeile bestehen:So stellen Sie sicher, dass Ihre neue Datei selbst über die üblichen Berechtigungen verfügt:
Nachdem Sie Ihre Datei erstellt haben, kann udevd sie automatisch lesen. Wenn nicht, können Sie das erneute Lesen der Dateien erzwingen mit:
Weitere Informationen zur Klassifizierung von Geräten durch udev
Wenn Sie genauer steuern möchten, welche Geräte auf welche Regeln reagieren, können Sie mehr darüber erfahren, wie udev Ihre Geräte sieht, indem Sie / sys / lesen. Im Moment habe ich keinen Zugriff auf einen Computer mit einem ttyUSB oder einem HPIB. Lassen Sie uns also ein Beispiel für die Festplatte sda machen. Lauf:
Dies gibt viele Informationen, die wie folgt aussehen:
Diese Zeilen haben alle die Form, die als
if
Klauseln in Regeln verwendet werden kann. Um beispielsweise den Besitz aller Blockgeräte zu ändern, die als nicht entfernbar markiert sind, verwenden wir die folgende Regel:Mit Informationen von
udevadm
kann man Regeln entwickeln, die speziell auf die interessierenden Geräte abzielen.quelle
Ich denke, ich würde vorschlagen, die Regel etwas restriktiver zu gestalten als die von John. Erstellen Sie beispielsweise eine Datei wie
/etc/udev/rules.d/99-tty-dialout.rules
:Sie können
udevadm
damit GeräteSUBSYSTEM==
undKERNEL==
Werte ermitteln. Zum Beispiel:quelle