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:

Ha a disztribúciód nem tartalmazza a szabályokat, akkor azokat manuálisan is telepítheted:

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

A szabályok telepítése után újra kell tölteni őket:

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

Ha továbbra sem tud hozzáférni a készülékéhez, próbálja meg újra a rendszer újraindítása után.

Korlátozások

Az ajánlott udev-szabályok az uaccess mechanizmust használják a megfelelő jogosultságok dinamikus hozzárendeléséhez. Ez a mechanizmus az systemd beállítást igényli, és csak a helyileg bejelentkezett felhasználók esetében működik (vagyis nem támogatja az SSH-bejelentkezéseket vagy hasonlókat).

Hibaelhárítás

Ha az udev-szabályok telepítése nem oldotta meg a problémát, a következő lépéseket hajthatja végre a hiba kivizsgálásához:

  1. Unplug the Nitrokey.

  2. Indítsa újra a számítógépet, hogy az udev-szabályok biztosan aktiválódjanak.

  3. Futtassa a következő parancsot: ` `` sudo dmesg –follow`, majd csatlakoztassa a Nitrokey-t. Figyelje meg az ezt követően megjelenő naplóüzeneteket. Valami hasonló sorral kell találkozni:

    [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. A naplóüzenetből állapítsa meg a hidraw eszköz nevét. Ebben az esetben ez a következő: hidraw3.

  5. Ellenőrizze a hidraw eszköz jogosultságait a következő parancs futtatásával: ` `` getfacl /dev/$name`, ahol ` `` $name` a hidraw eszköz neve. Látnia kell, hogy a felhasználójának ` `` rw` jogosultságai vannak. Például a ` `` myuser` felhasználó esetében:

    $ 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. Ha a felhasználónak nincsenek megfelelő jogosultságai, futtassa a következő parancsot: ` `` loginctl list-sessions`. Ekkor a felhasználónak egy, licenccel rendelkező munkamenetnek kell megjelenni, például:

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

Az udev-szabályok hibakereséséhez szükséges további lépéseket itt ismertetik: ` <https://github.com/Nitrokey/pynitrokey/issues/167#issuecomment-1024921046>` __.