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 описаны по адресу здесь.