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 (sinds Debian 14 Forky)
NixOS: Nitrokey-udev-rules (stel
hardware.nitrokey.enablein optrue)Ubuntu: Nitrokey-udev (vanaf Ubuntu 26.10 Stonking Stingray)
Als de regels niet door je distributie worden meegeleverd, kun je ze handmatig installeren:
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
Na het installeren van de regels, moet je ze opnieuw laden:
sudo udevadm control --reload-rules && sudo udevadm trigger
Als u nog steeds geen toegang hebt tot uw apparaat, probeer het dan opnieuw nadat u uw systeem opnieuw hebt opgestart.
Beperkingen¶
De aanbevolen udev-regels maken gebruik van het mechanisme uaccess om de juiste rechten dynamisch toe te wijzen. Dit mechanisme vereist systemd en werkt alleen voor gebruikers die lokaal zijn ingelogd (dit betekent dus geen SSH-aanmeldingen of iets dergelijks).
Problemen oplossen¶
Als het installeren van de udev-regels het probleem niet heeft opgelost, kun je de volgende stappen uitvoeren om het probleem te onderzoeken:
Unplug the Nitrokey.
Start de computer opnieuw op om ervoor te zorgen dat de udev-regels worden geactiveerd.
Voer de opdracht ` sudo dmesg –follow ` uit en sluit de Nitrokey aan. Bekijk de logberichten die daarna verschijnen. Je zou een regel moeten zien die er ongeveer zo uitziet:
[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
Bepaal de naam van het hidraw-apparaat aan de hand van het logbericht. In dit geval is dat
hidraw3.Controleer de machtigingen voor het hidraw-apparaat door het volgende uit te voeren: ` `` getfacl /dev/$name`, waarbij ` `` $name` de naam van het hidraw-apparaat is. Je zou moeten zien dat je gebruiker de machtigingen ` `` rw` heeft. Bijvoorbeeld voor de gebruiker ` `` myuser`:
$ 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::---
Als je gebruiker niet over de juiste rechten beschikt, voer dan de opdracht ` loginctl list-sessions ` uit. Je zou dan één sessie voor je gebruiker met een licentie moeten zien, bijvoorbeeld:
$ 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.
Aanvullende stappen voor het opsporen van fouten in de udev-regels worden beschreven op hier.