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:

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:

  1. Unplug the Nitrokey.

  2. Start de computer opnieuw op om ervoor te zorgen dat de udev-regels worden geactiveerd.

  3. 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
    
  4. Bepaal de naam van het hidraw-apparaat aan de hand van het logbericht. In dit geval is dat hidraw3.

  5. 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::---
    
  6. 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.