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 (από το Debian 14 Forky)
NixOS: Nitrokey-udev-rules (ορίστε
hardware.nitrokey.enableσεtrue)Ubuntu: Nitrokey-udev (από την έκδοση Ubuntu 26.10 Stonking Stingray)
Εάν η διανομή σας δεν παρέχει τους κανόνες, μπορείτε να τους εγκαταστήσετε χειροκίνητα:
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
Αφού εγκαταστήσετε τους κανόνες, πρέπει να τους επαναφορτώσετε:
sudo udevadm control --reload-rules && sudo udevadm trigger
Εάν εξακολουθείτε να μην έχετε πρόσβαση στη συσκευή σας, δοκιμάστε ξανά αφού επανεκκινήσετε το σύστημά σας.
Περιορισμοί¶
Οι συνιστώμενοι κανόνες του udev χρησιμοποιούν τον μηχανισμό uaccess για τη δυναμική εκχώρηση των σωστών δικαιωμάτων. Ο μηχανισμός αυτός απαιτεί systemd και λειτουργεί μόνο με χρήστες που έχουν συνδεθεί τοπικά (δηλαδή, δεν υποστηρίζει συνδέσεις μέσω SSH ή παρόμοιες).
Αντιμετώπιση προβλημάτων¶
Εάν η εγκατάσταση των κανόνων του udev δεν έλυσε το πρόβλημα, μπορείτε να ακολουθήσετε τα παρακάτω βήματα για να διερευνήσετε το πρόβλημα:
Unplug the Nitrokey.
Επανεκκινήστε τον υπολογιστή για να βεβαιωθείτε ότι οι κανόνες του udev έχουν ενεργοποιηθεί.
Εκτελέστε την εντολή
sudo dmesg --followκαι συνδέστε το Nitrokey. Παρατηρήστε τα μηνύματα καταγραφής που εμφανίζονται στη συνέχεια. Θα πρέπει να δείτε μια γραμμή παρόμοια με την εξής:[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
Προσδιορίστε το όνομα της συσκευής hidraw από το μήνυμα καταγραφής. Στην περίπτωση αυτή, είναι
hidraw3.Ελέγξτε τα δικαιώματα για τη συσκευή hidraw εκτελώντας την εντολή ` `` getfacl /dev/$name`, όπου ` `` $name` είναι το όνομα της συσκευής hidraw. Θα πρέπει να δείτε τον χρήστη σας με δικαιώματα ` `` rw`. Για παράδειγμα, για τον χρήστη ` `` 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::---
Εάν ο χρήστης σας δεν διαθέτει τα κατάλληλα δικαιώματα, εκτελέστε την εντολή
loginctl list-sessions. Θα πρέπει να δείτε μία συνεδρία για τον χρήστη σας με μια θέση, για παράδειγμα:$ 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.
Περισσότερες οδηγίες για τον εντοπισμό σφαλμάτων στους κανόνες του udev περιγράφονται εδώ: ` <https://github.com/Nitrokey/pynitrokey/issues/167#issuecomment-1024921046>` __.