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 Debianu 14 Forky)
NixOS: Nitrokey-udev-rules (nastavte
hardware.nitrokey.enablenatrue)Ubuntu: Nitrokey-udev (od verze Ubuntu 26.10 Stonking Stingray)
Pokud vaše distribuce tato pravidla neposkytuje, můžete je nainstalovat ručně:
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 instalaci pravidel je třeba je znovu načíst:
sudo udevadm control --reload-rules && sudo udevadm trigger
Pokud se vám stále nedaří získat přístup k zařízení, zkuste to znovu po restartování systému.
Omezení¶
Doporučená pravidla udev využívají mechanismus uaccess k dynamickému přiřazování správných oprávnění. Tento mechanismus vyžaduje systemd a funguje pouze u uživatelů, kteří jsou přihlášeni lokálně (to znamená, že nefunguje u přihlášení přes SSH ani u podobných způsobů).
Řešení problémů¶
Pokud instalace pravidel udev problém nevyřešila, můžete provést následující kroky k jeho vyšetření:
Unplug the Nitrokey.
Restartujte počítač, abyste se ujistili, že jsou pravidla udev aktivována.
Spusťte příkaz ` `` sudo dmesg –follow` a připojte Nitrokey. Sledujte hlášení v protokolu, která se poté zobrazí. Měl by se vám zobrazit řádek podobný tomuto:
[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
Zjistěte název zařízení hidraw z hlášení v protokolu. V tomto případě se jedná o
hidraw3.Zkontrolujte oprávnění pro zařízení hidraw spuštěním příkazu ` `` getfacl /dev/$name`, kde ` `` $name` je název zařízení hidraw. Měl by se zobrazit váš uživatel s oprávněními ` `` rw`. Například pro uživatele ` `` 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::---
Pokud váš uživatel nemá správná oprávnění, spusťte příkaz
loginctl list-sessions. Měla by se zobrazit jedna relace pro vašeho uživatele s licencí, například:$ 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.
Další kroky pro ladění pravidel udev jsou popsány zde: ` <https://github.com/Nitrokey/pynitrokey/issues/167#issuecomment-1024921046>` __.