私のソリューション(RaspberryPiのArchLinux ARM)では、権限のないユーザーがポートにアクセスできる必要があります/dev/ttyAMA0
。最終的な実装では、ユーザーは自動的にログインして起動スクリプトを起動しますが、これはテーマには関係ありません。
問題は、/dev/ttyAMA0
ポート(root:tty所有)が0620権限を持っていることであり、権限のないユーザーがttyグループに属しているにもかかわらず、ファイル権限が読み取り権限を付与していないため十分ではありません。
このスレッドで私は言った権限を変更するには、関数を使用する必要があります/etc/tmpfiles.d
。ただし、/etc/tmpfiles.d/solution.conf ファイルに 1 行を追加します。
F /dev/ttyAMA0 0660 root tty
何も変えません。たぶんtmpfiles.d機能を正しく使用していない可能性があります。
答え1
/dev/ttyAMA0
ハードウェアGPIOピンに接続されているシリアルポートはデフォルトで仮想コンソールアクセス用に初期化されているため、この問題はRaspberryPiに固有のものであることがわかりました。
/dev/ttyAMA0
への参照をすべて削除し/boot/cmdline.txt
て再起動する必要があり、/dev/ttyAMA0
適切なグループ権限(読み取り+書き込み)を持つようになりましたが、グループ名はですuucp
。もちろん、私のユーザーをこのグループに入れるのに問題はありません。
/dev/ttyAMA0
所有権または権限を変更するには、/usr/lib/udev/rules.d
ディレクトリ内のルールファイルを編集します。