一般ユーザーとして ttyusb0 にアクセスします。

一般ユーザーとして ttyusb0 にアクセスします。

"/dev/ttyUSB0"で接続されているシリアルデバイスにアクセスしようとしています。

crw-rw---- 1 root dialout 188, 0 Nov 29 15:45 ttyUSB0

このために新しいudevルールを作成しました。

SUBSYSTEM=="tty", ATTR{idVendor}=="1a86", ATTR{idProduct}=="7523", SYMLINK+="ttyPWM0", MODE="0666"

だから、次のファイルを取得します。

lrwxrwxrwx 1 root root 7 Nov 29 15:45 ttyPWM0 -> ttyUSB0

echoを使用してアクセスしようとすると、次のメッセージが表示されます。 sudoにも同じ問題があります。

$echo "hello" >> ttyPWM0
bash: ttyPWM0: Permission denied

私の質問は:一般ユーザーとしてファイルにどのようにアクセスできますか?アクセスを許可するプログラムを実行する必要があります。このセキュリティホールを回避する方法があることがわかっているので、ダイヤルアウトに自分のアカウントを追加しないでください。


SalaeLogicデバイスがあります。このデバイスには次のスクリプトがあります。

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1001", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1003", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1004", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1005", MODE="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="21a9", ATTR{idProduct}=="1006", MODE="0666"

このルールを適用すると、追加の操作なしでプログラムを起動してデバイスにアクセスできます。同じ目標を達成したいのですが…どうですか?

ベストアンサー1

一方、私の解決策は次のとおりです。

SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE="0666", SYMLINK+="ttyPWM0"

おすすめ記事