AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 15570
Accepted
erjiang
erjiang
Asked: 2010-12-01 10:02:19 +0800 CST2010-12-01 10:02:19 +0800 CST 2010-12-01 10:02:19 +0800 CST

配置 udev 以更改 USB HID 设备的权限?

  • 772

我有一个 USB 秤,一个 USB HID。目前,当它被插入时,权限只允许超级用户访问它。如何配置 udev 以让任何人访问此设备?我有供应商和产品 ID,但我想根据 HID 类型来匹配它。

现在,我很难找到任何适用于此的现有规则(除其他外,我在/lib/udev/rules.dand中寻找“hidraw” )。/etc/udev/rules.d

usb input-devices udev
  • 5 5 个回答
  • 89996 Views

5 个回答

  • Voted
  1. Best Answer
    Kees Cook
    2010-12-01T23:19:26+08:002010-12-01T23:19:26+08:00

    通常,这是通过添加/etc/udev/rules.d一个文件来完成的,该文件可能以50-usb-scale.conf如下内容命名:

    SUBSYSTEM=="usb", ATTR{idVendor}=="HEX1", ATTR{idProduct}=="HEX2", MODE="0666"
    

    其中HEX1和HEX2分别替换为供应商和产品 ID。

    要改为匹配接口类型,您可以尝试替换为ATTR{idVendor}=="HEX1", ATTR{idProduct}=="HEX2"匹配(HID):bInterfaceClass03

    SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", MODE="0666"
    

    但请注意,这也会抓住鼠标和键盘。

    • 28
  2. rundekugel
    2014-12-08T08:38:37+08:002014-12-08T08:38:37+08:00

    只是为了总结:

    您可以过滤:

    • 供应商
    • idProduct
    • 串行

    并使用:

    == 比较是否相等。

    != 比较不平等。

    = 为键赋值。表示列表的键被重置,并且只分配这个单一的值。

    += 将值添加到包含条目列表的键中。

    := 最后为键赋值;不允许以后的任何更改。

    您可以在 /dev/... 中为特定设备指定特定的新路径。
    示例:

    KERNEL=="hiddev*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", ATTRS{serial}=="1234567", GROUP="cdrom", OWNER="user28", MODE="0640", SYMLINK+="myhid"
    

    结果是:

    您可以通过 '/dev/hiddevx' 或通过 '/dev/myhid' 轻松访问设备,组 'cdrom' 中的每个用户都可以从设备中读取。所有者“user28”可以读写。

    或最简单的:

    KERNEL=="hiddev*", ATTRS{idVendor}=="16c0", MODE="0666"
    

    结果:每个用户都可以从供应商 0x16c0 访问每个 hiddevice

    详情见:文档

    • 7
  3. Rodo
    2012-09-20T03:38:17+08:002012-09-20T03:38:17+08:00

    如果您需要更改(像我一样)ttyACM0权限,这是我的设置:

    KERNEL=="ttyACM0", MODE="0777"
    

    当我尝试指定供应商和产品 ID 时失败。我不确定为什么。

    • 6
  4. Muriuki David
    2014-01-28T04:02:54+08:002014-01-28T04:02:54+08:00

    如果它是 HIDRAW 设备,则必须

    chmod 0666 /dev/hidrawX
    

    其中 X 是隐藏设备编号,例如 hidraw0。你可以做

    ls /dev/hid*
    

    查看列表:) 或者只是做

    sudo chmod 0666 /dev/hidraw*
    

    为所有 hidraw 设备设置,可能不推荐。

    • 3
  5. gatohaus
    2018-09-08T09:37:28+08:002018-09-08T09:37:28+08:00

    Ubuntu 18.04 更新/说明:

    Kees Cook 的回答很接近,但需要 2 处更改才能在 18.04 中工作(当前版本,只有一个我测试过)。

    1. 使用lsusb查找您的 idVendor 和 idProduct 。
      • 这将是“ID”之后的 2 个十六进制值,用冒号分隔。我正在添加扫描仪。lsusb 给了我:
        总线 001 设备 011:ID 04b8:014a 精工爱普生公司
    2. 以root身份将文件添加到/etc/udev/rules.d
      • 类似50-usb-epsonscanner.rules
      • 扩展名必须是“.rules”  
    3. 在该文件中添加:
      SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTR{idProduct}=="014a", MODE="0666"
      但是使用您的 idVendor 和 idProduct 十六进制值。
      • 请注意,它是“ATTRS”而不是“ATTR”。
    4. 重新登录。无需重新启动。
    • 3

相关问题

  • 如何在连接 MTP 设备时禁用自动播放功能?

  • 我这里有一个 22 号陷阱!除非我更新,否则没有互联网[关闭]

  • 修复 USB 驱动器自动通知

  • 如何从命令行重置 USB 设备?

  • Ubuntu 和交互式媒体安装

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve