Diagnostic step 1
Collect current udev rules: sudo udevadm info -a -p /sys/class HID device path for a key and check /etc/udev/rules.d/ and /lib/udev/rules.d/ for conflicting rules. Do not edit rules in place without change control.
Generated Oct 13, 2026, 9:45:52 AM
Collect current udev rules: sudo udevadm info -a -p /sys/class HID device path for a key and check /etc/udev/rules.d/ and /lib/udev/rules.d/ for conflicting rules. Do not edit rules in place without change control.
Create or restore vendor-recommended udev rule (match idVendor, idProduct) that sets GROUP="plugdev" (or 'u2f') and MODE="0660", place in /etc/udev/rules.d/70-u2f.rules, then run sudo udevadm control --reload-rules && sudo udevadm trigger --action=change to apply to existing devices.
Ensure affected users are members of the group granted device access (usermod -aG plugdev $USER) and have an active session (re-login required).
Validate by replugging token and testing with browser WebAuthn page and ykman without escalating to root. If AppArmor/SELinux constraints suspected, check audit logs (ausearch/audit.log) and test by temporarily relaxing profile in a controlled environment before rolling changes.
Roll changes through configuration management with a staged rollout and a rollback plan. If fleet-wide policy prevents granting group access, consider using a udev rule assigning a specific group for the security-team or use USB token middleware that runs as a privileged service and forwards requests securely.