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:

Hvis reglerne ikke følger med din distribution, kan du installere dem manuelt:

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

Når du har installeret reglerne, skal du genindlæse dem:

sudo udevadm control --reload-rules && sudo udevadm trigger

Hvis du stadig ikke kan få adgang til din enhed, kan du prøve igen, når du har genstartet systemet.

Begrænsninger

De anbefalede udev-regler bruger mekanismen uaccess til dynamisk at tildele de korrekte rettigheder. Denne mekanisme kræver systemd og fungerer kun for brugere, der er logget ind lokalt (dvs. ikke via SSH eller lignende).

Fejlfinding

Hvis installationen af udev-reglerne ikke løste problemet, kan du følge nedenstående trin for at undersøge årsagen:

  1. Unplug the Nitrokey.

  2. Genstart computeren for at sikre, at udev-reglerne er aktiveret.

  3. Kør kommandoen sudo dmesg --follow og tilslut Nitrokey. Hold øje med de logmeddelelser, der vises bagefter. Du bør se en linje, der ligner følgende:

    [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. Find navnet på hidraw-enheden ud fra logmeddelelsen. I dette tilfælde er det hidraw3.

  5. Kontroller rettighederne for hidraw-enheden ved at køre kommandoen ` `` getfacl /dev/$name`, hvor ` `` $name` er navnet på hidraw-enheden. Du bør kunne se, at din bruger har rettighederne ` `` rw`. For eksempel for brugeren ` `` 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. Hvis din bruger ikke har de rette rettigheder, skal du køre kommandoen loginctl list-sessions. Du bør nu kunne se én session for din bruger med en plads, for eksempel:

    $ 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.
    

Yderligere trin til fejlfinding i udev-reglerne er beskrevet på her.