![USB 设备未获授权使用](https://linux22.com/image/1019448/USB%20%E8%AE%BE%E5%A4%87%E6%9C%AA%E8%8E%B7%E6%8E%88%E6%9D%83%E4%BD%BF%E7%94%A8.png)
我正在使用最新的 Ubuntu 20.04,并且所有软件都已更新。
装好系统后U盘可以正常使用,装了好多软件都识别不了U盘,确定驱动装好了,运行后lsusb
能找到U盘
Bus 001 Device 005: ID 0951:1666 Kingston Technology DataTraveler 100 G3/G4/SE9 G2
当我运行时dmesg
,它显示
[241620.374470] usb 1-1.3: Device is not authorized for usage
[241637.411899] usb 1-1.3: USB disconnect, device number 4
我编辑了org.freedesktop.devicekit.udisks.policy
,改为allow_any
是,但仍然不起作用!
后来我发现问题在于usbguard阻止了usb设备。
通过 找出设备的 idusbguard list-devices
并使用usbguard allow-device XX
。但是它如何自动工作呢?
答案1
如果你有usbguard并且它会阻止您想要使用的设备,您可以使用该usbguard
工具将它们添加到允许列表中。运行usbguard
后您应该会得到一些相当清晰的说明。
usbguard list-devices # optionally --blocked
应该会为您提供已连接设备的列表,以及是否允许或阻止它们。您可以选择一个 ID(第一个数字)并运行例如
usbguard allow-device -p 17 # allow-device [OPTIONS] <'id' | rule>
-p
,--permanent
使该决定永久生效。设备特定的允许规则将附加到当前策略中。
并且应该看到日志中的变化:
kernel: usb 1-1: authorized to connect
Usbguard 旨在阻止系统启动后热插拔的所有设备。要进行持久更改,您可以将规则添加到/etc/usbguard/rules.conf
。您可以使用 从当前规则生成配置usbguard generate-policy
。
因此,要查看它们之间发生了什么变化,您可以:
usbguard generate-policy | sudo diff - /etc/usbguard/rules.conf
并用当前运行覆盖规则文件:
usbguard generate-policy | sudo tee /etc/usbguard/rules.conf
您还可以手动编辑规则并跨机器复制等。
答案2
您必须usbguard
通过以下方式删除该包:
sudo apt autopurge usbguard
然后重新启动。