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 (от Debian 14 Forky насам)
NixOS: Nitrokey-udev-rules (задайте
hardware.nitrokey.enableнаtrue)Ubuntu: Nitrokey-udev (от Ubuntu 26.10 Stonking Stingray нататък)
Ако правилата не са включени във вашата дистрибуция, можете да ги инсталирате ръчно:
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
След като инсталирате правилата, трябва да ги презаредите:
sudo udevadm control --reload-rules && sudo udevadm trigger
Ако все още нямате достъп до устройството си, опитайте отново след рестартиране на системата.
Ограничения¶
Препоръчваните правила на udev използват механизма uaccess за динамично присвояване на правилните права за достъп. Този механизъм изисква systemd и работи само с потребители, които са влезли в системата локално (това означава, че не се допускат влизания чрез SSH или подобни методи).
Отстраняване на неизправности¶
Ако инсталирането на правилата на udev не е разрешило проблема, можете да изпълните следните стъпки, за да разследвате проблема:
Unplug the Nitrokey.
Рестартирайте компютъра, за да се уверите, че правилата на udev са активирани.
Изпълнете командата
sudo dmesg --followи свържете Nitrokey. Проследете съобщенията в лога, които се появяват след това. Трябва да видите ред, подобен на:[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
Определете името на устройството hidraw от съобщението в лога. В този случай то е
hidraw3.Проверете правата за устройството hidraw, като изпълните командата
getfacl /dev/$name, където$nameе името на устройството hidraw. Трябва да видите, че вашият потребител има праватаrw. Например за потребителя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::---
Ако потребителят ви няма необходимите права, изпълнете командата
loginctl list-sessions. Трябва да видите една сесия за вашия потребител с лиценз, например:$ 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.
Допълнителни стъпки за отстраняване на грешки в правилата на udev са описани тук: ` <https://github.com/Nitrokey/pynitrokey/issues/167#issuecomment-1024921046>` __.