如何在 Linux 上永久更改 USB 设备权限如何在 Linux 上永久更改 USB 设备权限如何在 Linux 上永久更改 USB 设备权限如何在 Linux 上永久更改 USB 设备权限
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 上永久更改 USB 设备权限

Question: I am trying to run gpsd on my Linux with a USB GPS receiver. However, I am getting the following errors from gpsd.

gpsd[377]: gpsd:ERROR: read-only device open failed: Permission denied
gpsd[377]: gpsd:ERROR: /dev/ttyUSB0: device activation failed.
gpsd[377]: gpsd:ERROR: device open failed: Permission denied - retrying read-only
Looks like gpsd does not have permission to access the USB device (/dev/ttyUSB0). How can I change its default permission mode permanently on Linux?

当您运行想要读取或写入 USB 设备的进程时,该进程的用户/组必须具有适当的权限才能执行此操作。当然,您可以使用chmod命令手动更改USB设备的权限,但这种手动权限更改将是暂时的。当您重新启动 Linux 计算机时,USB 设备将恢复为其默认权限模式。

作为永久解决方案,您可以创建基于 udev 的 USB 权限规则,该规则分配您选择的任何自定义权限模式。以下是具体操作方法。

首先,您需要识别 USB 设备的供应商 ID 和产品 ID。为此,请使用 lsusb 命令。


$ lsusb -vvv

从 lsusb 输出中,找到 USB 设备的条目,然后查找 idVendor 和 idProduct 字段。在此示例中,我们有 idVendor (0x067b) 和 idProduct (0x2303)。

接下来,创建一个新的 udev 规则,如下所示。


$ sudo vi /etc/udev/rules.d/50-myusb.rules

SUBSYSTEMS=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="users", MODE="0666"

将 idVendor 和 idProduct 值替换为您自己的值。 MODE="0666"表示USB设备的首选权限。

现在重新启动您的计算机或重新加载 udev 规则:


$ sudo udevadm control --reload

然后验证USB设备的权限。

©2015-2025 艾丽卡 support@alaica.com