USB HID 장치에 대한 권한을 변경하도록 udev를 구성 하시겠습니까? 할 수 있습니다. 누구나이 장치에

USB 스케일, USB HID가 있습니다. 현재 연결되어 있으면 권한이 슈퍼 유저 만 액세스 할 수 있습니다. 누구나이 장치에 액세스 할 수 있도록 udev를 구성하려면 어떻게해야합니까? 공급 업체 및 제품 ID가 있지만 대신 HID 유형을 기준으로 일치 시키려고합니다.

지금, 나는이 적용 기존 규칙 (나는에서 “hidraw”에 대한 grepped 찾는 데 문제 /lib/udev/rules.d그리고 /etc/udev/rules.d무엇보다도).



답변

일반적으로 이것은 다음과 같은 내용으로 /etc/udev/rules.d이름이 지정된 파일 에 추가하여 수행됩니다 50-usb-scale.conf.

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

어디 HEX1HEX2은 각각 공급 업체 및 제품 ID로 대체됩니다.

대신 인터페이스 유형에 맞게하려면 교체 시도 할 수 ATTR{idVendor}=="HEX1", ATTR{idProduct}=="HEX2"의 일치와 bInterfaceClass03(HID) :

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

그러나 마우스와 키보드도 잡을 수 있습니다.


답변

요약하면 다음과 같습니다.

다음을 필터링 할 수 있습니다.

  • idVendor
  • 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에서 모든 숨김 장치에 액세스 할 수 있습니다.

자세한 내용은 다음을 참조하십시오. 문서


답변

(나처럼) ttyACM0권한 을 변경해야하는 경우이 설정은 다음과 같습니다.

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

공급 업체 및 제품 ID를 지정하려고 할 때 실패했습니다. 왜 그런지 잘 모르겠습니다.


답변

HIDRAW 장치 인 경우

chmod 0666 /dev/hidrawX

여기서 X는 숨겨진 장치 번호입니다 (예 : hidraw0). 넌 할 수있어

ls /dev/hid*

목록을 보려면 🙂 아니면 그냥

sudo chmod 0666 /dev/hidraw*

모든 hidraw 장치에 대해 설정하는 것이 좋습니다.


답변

우분투 18.04 업데이트 / 설명 :

Kees Cook의 대답은 가깝지만 18.04에서 작동하려면 2 가지 변경 사항이 필요합니다 (현재 릴리스 및이 테스트 한 것).

  1. lsusb로 idVendor 및 idProduct를 찾으십시오 .
    • 이것은 “ID”다음에 2 개의 16 진수 값이며 콜론으로 구분됩니다. 스캐너를 추가하고 있습니다. lsusb는 나에게 주었다 :
      버스 001 장치 011 : ID 04b8 : 014a Seiko Epson Corp. 
  2. 루트 로서 /etc/udev/rules.d에 파일을 추가하십시오
    • 50-usb-epsonscanner.rules 와 같은 것
    • 확장자는 “.rules”여야합니다.  
  3. 해당 파일에서 다음을 추가하십시오.
    SUBSYSTEM == "usb", ATTRS {idVendor} == "04b8", ATTR {idProduct} == "014a", MODE = "0666"

    그러나 idVendor 및 idProduct 16 진수 값으로.

    • “ATTR”이 아니라 “ATTRS”입니다.
  4. 재 로그인. 다시 부팅 할 필요가 없습니다.

답변