rules.dにUSBデバイスを追加する

rules.dにUSBデバイスを追加する

USBデバイスの追加に問題があり、rules.d listルートなしで使用できるようにしたいと思います。

これは私のUSBデバイスです。

Bus 001 Device 007: ID 1162:2200 Secugen Corp.

これは私が書いたものです/etc/udev/rules.d/98-secugen-usb-device.rules

SYSFS{idVendor}=="1162", SYSFS{idProduct}=="2200", SYMLINK+="input/fdu05-%k", MODE="0660", GROUP="SecuGen" KERNEL=="uinput", MODE="0660", GROUP="SecuGen"

これがどの部分なのかよく分からない。SYMLINK+="input/fdu05-%kに設定されていますreadme.txt

残念ながら、このルールは機能しません。一般的に非常に簡単です。 VendorId / productIdを追加すると機能しますが、今回は機能しません。

どんな提案がありますか?

アップデート:これは私が得た結果ですdmesg

usb 1-1.1.3: new high-speed USB device number 12 using ehci-pci
usb 1-1.1.3: New USB device found, idVendor=1162, idProduct=2200
usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1.3: Product: SecuGen USB U20
usb 1-1.1.3: Manufacturer: SecuGen Corp.

これが私の姿です/dev/input

├── by-id
│   ├── usb-LITEON_Technology_USB_Multimedia_Keyboard-event-kbd -> ../event0
│   ├── usb-Microsoft_Comfort_Mouse_6000-event-mouse -> ../event1
│   └── usb-Microsoft_Comfort_Mouse_6000-mouse -> ../mouse0
├── by-path
│   ├── pci-0000:00:1a.0-usb-0:1.2:1.0-event-kbd -> ../event0
│   ├── pci-0000:00:1a.0-usb-0:1.3:1.0-event-mouse -> ../event1
│   ├── pci-0000:00:1a.0-usb-0:1.3:1.0-mouse -> ../mouse0
│   └── platform-pcspkr-event-spkr -> ../event4
├── event0
├── event1
├── event10
├── event2
├── event3
├── event4
├── event5
├── event6
├── event7
├── event8
├── event9
├── mice
└── mouse0

私が得たログは次のとおりですunbuffer udevadm monitor --environment

UDEV  [4656.200575] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.3 (usb)
ACTION=add
BUSNUM=001
DEVNAME=/dev/bus/usb/001/016
DEVNUM=016
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.3
DEVTYPE=usb_device
ID_BUS=usb
ID_MODEL=SecuGen_USB_U20
ID_MODEL_ENC=SecuGen\x20USB\x20U20\x20\x20\x20\x20\x20\x20\x20
ID_MODEL_ID=2200
ID_REVISION=2206
ID_SERIAL=SecuGen_Corp._SecuGen_USB_U20
ID_USB_INTERFACES=:ffffff:
ID_VENDOR=SecuGen_Corp.
ID_VENDOR_ENC=SecuGen\x20Corp.\x20\x20\x20\x20
ID_VENDOR_FROM_DATABASE=Secugen Corp.
ID_VENDOR_ID=1162
MAJOR=189
MINOR=15
PRODUCT=1162/2200/2206
SEQNUM=1702
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=6
USEC_INITIALIZED=56185634

UDEV  [4657.235375] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0
DEVTYPE=usb_interface
ID_VENDOR_FROM_DATABASE=Secugen Corp.
INTERFACE=255/255/255
MODALIAS=usb:v1162p2200d2206dc00dsc00dp00icFFiscFFipFFin00
PRODUCT=1162/2200/2206
SEQNUM=1703
SUBSYSTEM=usb
TYPE=0/0/0
UDEV_LOG=6
USEC_INITIALIZED=186134
adb_user=yes

リリースバージョン:Debian GNU/Linux 8 (jessie)

答え1

こんにちは。 UnixとLinux StackExchangeへようこそ!

あなたが尋ねる唯一のことは、SYMLINK+="input/fdu05-%k"ルールのセクションが何を意味するのかですudev。これは、次の名前でudevデバイスへのシンボリックリンクを自動的に生成するように指示します。/dev/input/fdu05-<kernel name of the device>

しかし、私はあなたがデバイスを使いたくないと言ったので、それrootがこのルールの主な目標であることを理解しています。そうですか?ご覧のとおり、重要な部分はルールのユーザー権限の一部であるMODEとですGROUP。セキュリティ上の理由から、0660モードをそのままにして(所有者とグループには読み取り/書き込み権限がありますが、他の人には権限がありません)、ユーザーが「SecuGen」グループに属していることを確認してください。端末で実行すると簡単に確認できます。

id <username>

ユーザーがグループに属していない場合は、実行に追加してください。

# usermod -a -G <username> SecuGen

もちろん、GROUP必要なユーザーグループを持つようにルールを変更することもできます。

最後に、udevルールを変更するたびに再起動することを忘れないでください。または、ルールがある場合は、実行中のルールを再ロードudevadmするように要求できます。udev

# udevadm control --reload-rules

頑張ってください!

答え2

あなたにはこのような規則があります

SYSFS{idVendor}=="1162", SYSFS{idProduct}=="2200", SYMLINK+="input/fdu05-%k", MODE="0660", GROUP="SecuGen" KERNEL=="uinput", MODE="0660", GROUP="SecuGen"

このエントリは、デバイスのカーネル名を置き換えて、SYMLINKデバイスにシンボリックリンクを追加します。 (あなたは見つけることができます/dev/input/fdu05-%k%kudevのマニュアルページ(7).)

2つの定義がありますGROUP。 1つだけが予想されます。

Linuxグループ「SecuGen」を定義しましたか?getent group SecuGen定義されていることを確認するために実行するか、単純なシステムで表示するだけです/etc/group。そうでない場合は、ルールがデバイスをそのグループに設定できるように追加する必要があります。

関連情報