/dev/
OK...それで、chownとchmodを使って周辺機器のいくつかのファイルにアクセスする多くのチュートリアルの指示に従いました。
chownとchmodは再起動を通過しません。それは問題ではありません。私が見ている問題は、chmodおよび/またはchownを正常に使用した後でも、および/または/dev/
同じディレクトリファイルを操作できないことに関連しています。gpio
i2c
そのため、現在のユーザーの名前付けスキームを設定してからそのユーザーのグループを設定しましたが、まだファイルにアクセスできません。私は仕様に応じて、/dev/bone/
などのいくつかの周辺ファイルのファイルを埋めるように指示する内蔵コンピュータを使用しています。pwm
uart
i2c
特別なこと/dev/
は、内部でファイルを制御することが/dev/
chownとchmodを使用して追加されたコマンド権限とユーザー:グループの影響を受けないことです。
私はまだ/sys/class/gpio/および/または/sys/class/pwm/を使わずに/dev/にビルドする方法を教えています。
答え1
/dev/
システムが起動すると、ディレクトリツリーが再生成されます。最終的にハードウェアを追加/削除した可能性があります。
多くのデバイスアクセスの問題は、グループメンバーシップの変更で解決できる権限の問題です。
sudo journalctl --follow
接続されているデバイスを見ると、デバイス名を見つけることができます。または、ls -1 -l /dev >dev.before
デバイスを接続して10秒間待ちますls -1 -l /dev >dev.after;diff dev.{before,after}
。
特に、ls -l
グループ表示権限(2番目のrwx
三重項)が「」rw
(例: " -rw-rw----
")の場合、デバイスを所有するグループに自分自身を追加すると、rw
アクセス権が付与されます。
それだけです:
# change to your device name
device="/dev/YourDevice"
sudo adduser $USER $(stat -c "%G" $device)
これにより、デバイスを使用できるグループのメンバーになることができますrw
。しかし、もう一つのステップがあります。
すべてのプロセスを新しいグループのメンバーにするには、ログアウトしてログインします。グループメンバーシップは時間ベースで設定されますlogin
。
新しいグループから単一のプロセスを作成するには(テスト用、ログアウト/ログイン前):
newgrp $(stat -c "%G" $device)
またはグループ名を入力してください。望むよりman newgrp
。