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 (definir
hardware.nitrokey.enablecomotrue)Ubuntu: Nitrokey-udev (a partir do Ubuntu 26.10 Stonking Stingray)
Se a sua distribuição não fornecer as regras, pode instalá-las 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
Depois de instalar as regras, é necessário voltar a carregá-las:
sudo udevadm control --reload-rules && sudo udevadm trigger
Se ainda não conseguir aceder ao seu dispositivo, tente novamente após reiniciar o sistema.
Limitações¶
As regras recomendadas do udev utilizam o mecanismo uaccess para atribuir dinamicamente as permissões corretas. Este mecanismo requer systemd e só funciona com utilizadores que estejam a iniciar sessão localmente (ou seja, não funciona com inícios de sessão via SSH ou similares).
Resolução de problemas¶
Se a instalação das regras do udev não tiver resolvido o problema, pode seguir os passos a seguir para investigar a causa:
Unplug the Nitrokey.
Reinicie o computador para garantir que as regras do udev estão ativadas.
Execute o comando
sudo dmesg --followe ligue o Nitrokey. Observe as mensagens de registo que aparecem a seguir. Deverá ver uma linha semelhante 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
Determine o nome do dispositivo hidraw a partir da mensagem de registo. Neste caso, é
hidraw3.Verifique as permissões do dispositivo hidraw executando o comando
getfacl /dev/$name, em que$nameé o nome do dispositivo hidraw. Deverá ver o seu utilizador com as permissõesrw. Por exemplo, para o utilizadormyuser:$ 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 o seu utilizador não tiver as permissões corretas, execute o comando
loginctl list-sessions. Deverá ver uma sessão para o seu utilizador com uma licença, por exemplo:$ 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.
Estão descritos passos adicionais para a depuração das regras do udev em aqui.