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 (nuo Debian 14 „Forky“)
NixOS: Nitrokey-udev-rules (nustatykite
hardware.nitrokey.enableįtrue)Ubuntu: Nitrokey-udev (nuo Ubuntu 26.10 „Stonking Stingray“ versijos)
Jei jūsų distribucijoje šios taisyklės nėra pateiktos, jas galite įdiegti rankiniu būdu:
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
Įdiegus taisykles, jas reikia iš naujo įkelti:
sudo udevadm control --reload-rules && sudo udevadm trigger
Jei vis dar negalite prisijungti prie savo įrenginio, pabandykite dar kartą, iš naujo paleidę sistemą.
Apribojimai¶
Rekomenduojamose „udev“ taisyklėse naudojamas mechanizmas „ ` “ uaccess`, skirtas dinamiškai priskirti tinkamas teises. Šiam mechanizmui reikalingas „ ` “ systemd`, ir jis veikia tik su vietoje prisijungusiais vartotojais (tai reiškia, kad jis neveikia prisijungus per SSH ar panašiais būdais).
Trikčių šalinimas¶
Jei įdiegus „udev“ taisykles problema neišspręsta, galite atlikti šiuos veiksmus, kad išsiaiškintumėte problemos priežastį:
Unplug the Nitrokey.
Iš naujo paleiskite kompiuterį, kad įsitikintumėte, jog „udev“ taisyklės yra aktyvuotos.
Vykdykite komandą „
sudo dmesg --follow“ ir prijunkite „Nitrokey“. Stebėkite po to pasirodančius žurnalo pranešimus. Turėtumėte pamatyti eilutę, panašią į šią:[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
Iš žurnalo pranešimo nustatykite „hidraw“ įrenginio pavadinimą. Šiuo atveju tai yra „ ` “ hidraw3`.
Patikrinkite „hidraw“ įrenginio teises, paleisdami komandą „ ` “ getfacl /dev/$name`, kur
$nameyra „hidraw“ įrenginio pavadinimas. Turėtumėte pamatyti savo vartotoją, turintįrwteises. Pavyzdžiui, vartotojomyuseratveju:$ 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::---
Jei jūsų vartotojas neturi reikiamų teisių, įvykdykite komandą „
loginctl list-sessions“. Turėtumėte pamatyti vieną sesiją, priskirtą jūsų vartotojui, turinčiam licenciją, pavyzdžiui:$ 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.
Papildomi veiksmai, skirti „udev“ taisyklių derinimo klaidų šalinimui, aprašyti čia: ` <https://github.com/Nitrokey/pynitrokey/issues/167#issuecomment-1024921046>` __.