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 (desde Debian 14 Forky)
NixOS: Nitrokey-udev-rules (establecer
hardware.nitrokey.enableentrue)Ubuntu: Nitrokey-udev (desde Ubuntu 26.10 Stonking Stingray)
Si tu distribución no incluye las reglas, puedes instalarlas 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
Después de instalar las reglas, es necesario recargarlas:
sudo udevadm control --reload-rules && sudo udevadm trigger
Si sigues sin poder acceder a tu dispositivo, vuelve a intentarlo después de reiniciar el sistema.
Limitaciones¶
Las reglas de udev recomendadas utilizan el mecanismo uaccess para asignar dinámicamente los permisos correctos. Este mecanismo requiere systemd y solo funciona con usuarios que hayan iniciado sesión de forma local (es decir, no con inicios de sesión por SSH ni similares).
Solución de problemas¶
Si la instalación de las reglas de udev no ha solucionado el problema, puedes seguir los siguientes pasos para investigar la causa:
Unplug the Nitrokey.
Reinicia el ordenador para asegurarte de que las reglas de udev estén activadas.
Ejecuta el comando
sudo dmesg --followy conecta el Nitrokey. Fíjate en los mensajes de registro que aparecen a continuación. Deberías ver una línea similar a esta:[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
Determina el nombre del dispositivo hidraw a partir del mensaje de registro. En este caso, es « ` » hidraw3`.
Comprueba los permisos del dispositivo hidraw ejecutando el comando « ` » getfacl /dev/$name`, donde
$namees el nombre del dispositivo hidraw. Deberías ver que tu usuario tiene los permisosrw. Por ejemplo, para el usuariomyuser:$ 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::---
Si tu usuario no tiene los permisos adecuados, ejecuta el comando
loginctl list-sessions. Deberías ver una sesión para tu usuario con una licencia, por ejemplo:$ 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.
En se describen pasos adicionales para la depuración de las reglas de udev; aquí.