ユーザールート、グループはルートですが、最終的に所有権は/ dev /から変更されます。

ユーザールート、グループはルートですが、最終的に所有権は/ dev /から変更されます。

/dev/OK...それで、chownとchmodを使って周辺機器のいくつかのファイルにアクセスする多くのチュートリアルの指示に従いました。

chownとchmodは再起動を通過しません。それは問題ではありません。私が見ている問題は、chmodおよび/またはchownを正常に使用した後でも、および/または/dev/同じディレクトリファイルを操作できないことに関連しています。gpioi2c

そのため、現在のユーザーの名前付けスキームを設定してからそのユーザーのグループを設定しましたが、まだファイルにアクセスできません。私は仕様に応じて、/dev/bone/などのいくつかの周辺ファイルのファイルを埋めるように指示する内蔵コンピュータを使用しています。pwmuarti2c

特別なこと/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

関連情報