Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tipp, UDEV Regel gegen dem Bedarf des root users #4

Open
MaStr opened this issue Aug 16, 2018 · 3 comments
Open

Tipp, UDEV Regel gegen dem Bedarf des root users #4

MaStr opened this issue Aug 16, 2018 · 3 comments
Assignees
Labels
documentation Documentation issues

Comments

@MaStr
Copy link
Contributor

MaStr commented Aug 16, 2018

Hoi,
da ich ungern solche Dinge direkt mit root laufen lasse, dachte ich mir, dass man dem Device doch auch eine passende Berechtigung geben kann.

In meinem Fall habe ich jetzt "einfach" alles die Schreibrechte auf beide HID devices gegeben.
Das ganze Ding funktioniert so, dass man eine '''/etc/udev/rules/99-hid.rules''' anlegt und dort folgende Werte einträgt:

KERNEL=="hiddev0",    SUBSYSTEM=="usbmisc", ATTRS{idProduct}=="5750", ATTRS{idVendor}=="0483" , MODE="0666"
SUBSYSTEM=="usb", ATTRS{idProduct}=="5750", ATTRS{idVendor}=="0483", MODE="0666"

Vermutlich ist sogar nur die untere Zeile nötig, aber da war ich nun zu Faul das nochmal gegen zu testen.

Die ganz saubere Lösung wäre, eine neue Gruppe einzurichten "hiduser".
und dann die Gruppe den Geräte zuzuordnen:

KERNEL=="hiddev0",    SUBSYSTEM=="usbmisc", ATTRS{idProduct}=="5750", ATTRS{idVendor}=="0483" , GROUP="hiduser",  MODE="0660"
SUBSYSTEM=="usb", ATTRS{idProduct}=="5750", ATTRS{idVendor}=="0483", GROUP="hiduser",  MODE="0660"

Dem entsprechenden user weißt man die Gruppe später zu (achtung neuanmeldung ggf. notwendig) und damit kann er das Gerät auch ohne root Rechte nutzen.

Hierzu etwas lesefoo:
http://www.reactivated.net/writing_udev_rules.html
https://puredata.info/docs/faq/how-can-i-set-permissions-so-hid-can-read-devices-in-gnu-linux
anderes Beispiel:
https://raw.githubusercontent.com/trezor/trezor-common/master/udev/51-trezor.rules

@edelbluth
Copy link
Contributor

Ich habe in der Tat das Skript auch nicht als Root laufen, allerdings mit einem etwas anderen Ansatz. Ich wühle mich bei Gelegenheit da nochmal durch und ergänze das in der Doku.

@edelbluth edelbluth added the documentation Documentation issues label Aug 17, 2018
@edelbluth edelbluth self-assigned this Aug 17, 2018
@edelbluth edelbluth mentioned this issue Jan 18, 2019
edelbluth added a commit that referenced this issue Mar 23, 2022
- Umstellung auf Poetry
- Abarbeitung offener Pull Requests
- Entfernung von Demo-Code
- PyTest-Prüfungen um Black und XUnit-Results erweitert
- Travis-Pipeline durch Github Action abgelöst
- README angepasst (Badge, Poetry)

Damit ist die Basis für weitere Entwicklungen gelegt.

Nächste Schritte (nicht zwingend in dieser Reihenfolge):

- Tests auf Raspberry Pi mit der Original-Hardware
- Offene Issues einfließen lassen (insb. das udev-Thema aus Issue #4)
- MQTT weiter verproben (Issue #64)
- Daemon Mode (Issue #52)

Dieser Stand ist also "das neue develop".
@MaStr
Copy link
Contributor Author

MaStr commented Jul 2, 2022

Ich kann meine aktuelle udev Regel vom armbian als sample einstellen.
Leider scheinen sich die Namen der Subsysteme (hidraw/ hid...) irgendwie in dem Verlauf der Kernel Versionen zu ändern, sodass ich vorsichtig wäre ein generelles Beispiel anzupreisen 🤔

Liebe Grüße Matthias

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation issues
2 participants