Setting up the udev Rules¶
To be able to access your devices without root privileges, nitropy requires the Nitrokey udev rules. On many distributions, they can be installed from a package:
Arch Linux: Nitrokey-udev-rules
Debian: Nitrokey-udev (seit Debian 14 Forky)
NixOS: Nitrokey-udev-rules (set
hardware.nitrokey.enabletotrue)Ubuntu: Nitrokey-udev (seit Ubuntu 26.10 Stonking Stingray)
Falls die Regeln in Ihrer Distribution nicht enthalten sind, können Sie sie manuell installieren:
wget https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules
sudo mv 41-nitrokey.rules /etc/udev/rules.d/
sudo chown root:root /etc/udev/rules.d/41-nitrokey.rules
sudo chmod 644 /etc/udev/rules.d/41-nitrokey.rules
Nach der Installation der Regeln müssen Sie diese neu laden:
sudo udevadm control --reload-rules && sudo udevadm trigger
Wenn Sie immer noch nicht auf Ihr Gerät zugreifen können, versuchen Sie es nach einem Neustart Ihres Systems erneut.
Begrenzungen¶
Die empfohlenen udev-Regeln nutzen den Mechanismus „ ` “ uaccess`, um die richtigen Berechtigungen dynamisch zuzuweisen. Dieser Mechanismus erfordert „ ` “ systemd` und funktioniert nur bei lokal angemeldeten Benutzern (das heißt, keine SSH-Anmeldungen oder Ähnliches).
Fehlersuche¶
Falls die Installation der udev-Regeln das Problem nicht behoben hat, können Sie die folgenden Schritte ausführen, um die Ursache zu ermitteln:
Unplug the Nitrokey.
Starten Sie den Computer neu, um sicherzustellen, dass die udev-Regeln aktiviert sind.
Führen Sie den Befehl „
sudo dmesg --follow“ aus und schließen Sie den Nitrokey an. Beobachten Sie die anschließend angezeigten Protokollmeldungen. Es sollte eine Zeile ähnlich der folgenden erscheinen:[46561.825062] hid-generic 0003:20A0:42B2.000F: hiddev97,hidraw3: USB HID v1.11 Device [Nitrokey Nitrokey 3] on usb-0000:00:14.0-3.4.1/input1
Ermitteln Sie den Namen des Hidraw-Geräts anhand der Protokollmeldung. In diesem Fall lautet er „
hidraw3“.Überprüfen Sie die Berechtigungen für das hidraw-Gerät, indem Sie folgenden Befehl ausführen: ` `` getfacl /dev/$name`, wobei
$nameder Name des hidraw-Geräts ist. Ihr Benutzer sollte über die Berechtigungenrwverfügen. Beispiel für den Benutzermyuser:$ getfacl /dev/hidraw3 getfacl: Removing leading '/' from absolute path names # file: dev/hidraw3 # owner: root # group: root user::rw- user:myuser:rw- group::--- mask::rw- other::---
Falls Ihr Benutzer nicht über die erforderlichen Berechtigungen verfügt, führen Sie den Befehl „
loginctl list-sessions“ aus. Es sollte eine Sitzung für Ihren Benutzer mit einer Lizenz angezeigt werden, zum Beispiel:$ loginctl list-sessions SESSION UID USER SEAT LEADER CLASS TTY IDLE SINCE 1 1000 myuser seat0 1487 user - no - 2 1000 myuser - 1495 manager - no - 2 sessions listed.
Weitere Schritte zur Fehlerbehebung bei den udev-Regeln werden hier beschrieben: ` <https://github.com/Nitrokey/pynitrokey/issues/167#issuecomment-1024921046>` __.