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 (a partire da Debian 14 Forky)
NixOS: Nitrokey-udev-rules (impostare
hardware.nitrokey.enablesutrue)Ubuntu: Nitrokey-udev (a partire da Ubuntu 26.10 Stonking Stingray)
Se la tua distribuzione non fornisce le regole, puoi installarle manualmente:
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
Dopo aver installato le regole, è necessario ricaricarle:
sudo udevadm control --reload-rules && sudo udevadm trigger
Se non riesci ancora ad accedere al tuo dispositivo, riprova dopo aver riavviato il sistema.
Limitazioni¶
Le regole udev consigliate utilizzano il meccanismo uaccess per assegnare dinamicamente i permessi corretti. Questo meccanismo richiede systemd e funziona solo con gli utenti che hanno effettuato l’accesso localmente (il che significa che non sono ammessi accessi SSH o simili).
Risoluzione dei problemi¶
Se l’installazione delle regole udev non ha risolto il problema, è possibile seguire i passaggi riportati di seguito per individuare la causa del problema:
Unplug the Nitrokey.
Riavvia il computer per assicurarti che le regole udev siano attive.
Esegui il comando
sudo dmesg --followe collega la Nitrokey. Osserva i messaggi di log che compaiono in seguito. Dovresti vedere una riga simile a questa:[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
Individuare il nome del dispositivo hidraw dal messaggio di log. In questo caso, è
hidraw3.Verifica i permessi relativi al dispositivo hidraw eseguendo il comando
getfacl /dev/$name, dove$nameè il nome del dispositivo hidraw. Dovresti vedere il tuo utente con i permessirw. Ad esempio, per l’utentemyuser:$ 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::---
Se l’utente non dispone delle autorizzazioni corrette, eseguire il comando
loginctl list-sessions. Dovrebbe apparire una sessione relativa all’utente con una licenza, ad esempio:$ 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.
Ulteriori passaggi per il debug delle regole udev sono descritti qui.