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 (od wersji Debian 14 Forky)
NixOS: Nitrokey-udev-rules (ustaw
hardware.nitrokey.enablenatrue)Ubuntu: Nitrokey-udev (od wersji Ubuntu 26.10 Stonking Stingray)
Jeśli Twoja dystrybucja nie udostępnia tych reguł, możesz je zainstalować ręcznie:
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
Po zainstalowaniu reguł należy je ponownie załadować:
sudo udevadm control --reload-rules && sudo udevadm trigger
Jeśli nadal nie możesz uzyskać dostępu do swojego urządzenia, spróbuj ponownie po ponownym uruchomieniu systemu.
Ograniczenia¶
Zalecane reguły udev wykorzystują mechanizm uaccess do dynamicznego przypisywania odpowiednich uprawnień. Mechanizm ten wymaga systemd i działa wyłącznie w przypadku użytkowników zalogowanych lokalnie (co oznacza, że nie obejmuje logowań przez SSH ani podobnych metod).
Rozwiązywanie problemów¶
Jeśli zainstalowanie reguł udev nie rozwiązało problemu, możesz wykonać poniższe czynności, aby zbadać przyczynę:
Unplug the Nitrokey.
Uruchom ponownie komputer, aby upewnić się, że reguły udev zostały aktywowane.
Wprowadź polecenie ` `` sudo dmesg –follow` i podłącz Nitrokey. Zwróć uwagę na komunikaty dziennika, które pojawią się po wykonaniu polecenia. Powinieneś zobaczyć wiersz podobny do:
[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
Określ nazwę urządzenia hidraw na podstawie komunikatu w dzienniku. W tym przypadku jest to
hidraw3.Sprawdź uprawnienia dla urządzenia hidraw, uruchamiając polecenie ` `` getfacl /dev/$name`, gdzie ` `` $name` to nazwa urządzenia hidraw. Powinieneś zobaczyć, że Twój użytkownik posiada uprawnienia ` `` rw`. Na przykład dla użytkownika ` `` 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::---
Jeśli użytkownik nie posiada odpowiednich uprawnień, należy wykonać polecenie ` `` loginctl list-sessions`. Powinna pojawić się jedna sesja dla użytkownika z przypisanym stanowiskiem, na przykład:
$ 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.
Dodatkowe kroki dotyczące debugowania reguł udev opisano na stronie tutaj.