/dev/ttyUSB0の権限を設定する

/dev/ttyUSB0の権限を設定する

Ubuntu 12.04からArduinoと通信しようとしています。USBケーブルを接続すると、Arduinoのシリアルポートは/dev/ttyUSB0として表示されます。モシリアル、起動時に「デバイス/dev/ttyUSB0を開けませんでした」というエラーが表示されますが、モシリアル使用して須藤通常の非ルートユーザーとしてシリアルデバイスにアクセスできるようにするには、何を設定する必要がありますか?

答え1

いくつかのオプションがあります:

自動 ACL 割り当て

Ubuntu では systemd-logind または ConsoleKit が動作している可能性が高いです。これは、コンソールで現在ログインしているユーザー アカウントに基づいて、デバイス ノードの ACL を自動的に構成できます。これらの ACL は、通常の権限に加えてアクセスを許可し、 を使用して確認できますgetfacl

/etc/udev/rules.d/60-extra-acl.rulesこれを使用するには、 1に以下を追加します。

KERNEL=="ttyUSB[0-9]*", TAG+="udev-acl", TAG+="uaccess"

( 1はい、ファイルを作成します。デフォルトでは存在しません。ディレクトリ全体が管理者のカスタマイズ用です。)

グループベースのアクセス

ttyデバイスは通常、特定のグループ「dialout」や「uucp」などのグループに自分を追加してアクセスします全てシリアルポート:

# gpasswd -a YourUsername dialout

グループの変更が適用されるように、必ずログアウトして再度ログインしてください。

権限または所有権の変更

上記と同様の udev ルールを使用して、「メイン」所有者とグループ、および権限 (これが最初にデフォルト グループが設定された方法です) を設定することもできます。例:

     KERNEL=="ttyUSB[0-9]*", OWNER="YourUsername"
or:  KERNEL=="ttyUSB[0-9]*", GROUP="users", MODE="0660"
or:  KERNEL=="ttyUSB[0-9]*", MODE="0666"

OWNER、GROUP、MODE パラメータを割り当てることができます。

一時的な手動変更

行うには一度変更する場合は、通常どおりchmodand/orを使用してください。chown

     # chown YourUsername /dev/ttyUSB0
or:  # chmod a+rw /dev/ttyUSB0

関連情報