![ここで /lib/udev/rules.d は [閉じている]](https://linux33.com/image/11679/%E3%81%93%E3%81%93%E3%81%A7%20%2Flib%2Fudev%2Frules.d%20%E3%81%AF%20%5B%E9%96%89%E3%81%98%E3%81%A6%E3%81%84%E3%82%8B%5D.png)
私はペリフェラルを接続するために使用しており、libusb
ルートではなくアクセスを許可したいと思います。これがどのように機能するのか、正直にどのように機能するのかはわかりませんが、明らかに/lib/udev/rules.dにファイルを変更または追加することでアクセスグループを使用できます。
まず、迅速な解決策を見つけて、後で再度トレーニングできるように機器とルールシステムを説明する場所を見つけます。私に答えられなかったいくつかの質問がありました。
答え1
まず、を実行してlsusb
からUSB周辺機器を接続してlsusb
もう一度実行してください。両方のリストを比較します。 2番目のリストには、周辺機器を説明する1行以上の行が必要です。
正しい行を識別したら、そのID xxxx:yyyy
行に数字を書き留めます。これらはベンダーIDそして製品番号機器用。
しかし、最初にudevルールファイルのいくつかの原則は次のとおりです。
必要なudevルールファイルを追加できます/etc/udev/rules.d
。唯一の名前要件は、ファイル名にサフィックスを含める必要があることです.rules
。
のファイルは、/lib/udev/rules.d
Linuxディストリビューションの事前パッケージ化されたルール用に予約されています。 udevルールに影響を与える新しいパッチがシステムにインストールされると、既存のファイルに対する変更が上書きされます。
既存のルールを変更する必要がある場合は、代わりにコピー/lib/udev/rules.d
/etc/udev/rules.d
ファイルの元の名前を保持しながら変更したいルールファイル。/etc/udev/rules.d
遺言状のすべての文書書く同じ名前のファイル/lib/udev/rules.d
。コピーを作成したら、/etc/udev/rules.d
必要に応じて変更し、後で特定のセキュリティ更新プログラムをインストールするときに変更を上書きしないようにすることができます。
両方のディレクトリのルールファイルは単純な英数字の順序で読み取られ(上書きを考慮した後)、競合するルールがある場合は最後のルールが適用されます。ルールファイル名は、NN-descriptive-name.rules
NNがルールシーケンス全体でファイルの場所を識別する場所と似ている必要があるという慣例があります。
その後、ルールを作成する実際のタスクが開始されます。
デバイスIDがリストにlsusb
ある場合、xxxx:yyyy
そのデバイスを指定するudevルールの部分は次のとおりです。
SUBSYSTEM=="usb", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy"
二重等号を参照してください。このルールは、C、Java、その他のプログラミング言語に似ています。二重等号はテスト平等の場合、単一の等号は次のことを意味します。環境一部には特定の価値があります。
ほとんどの最新バージョンのLinuxでは、TAG+="uaccess"
ルール行の最後にを使用して、現在のシステムにローカルにログインしているすべての人が特定のデバイスにアクセスできるように指定できます。
一部のユーザーのみがデバイスにアクセスできる必要がある場合は、グループを作成し()グループにユーザーを追加し、(sudo groupadd mydevice
)ルール行の最後にそのグループのみがデバイスusermod -a -G mydevice username
にアクセスできるようにします。GROUP="mydevice", MODE="0660"
グループに追加された人はssh
リモートでシステムに接続でき、グループのメンバー以外の人はデバイスをまったく使用できません。
注:新しいグループメンバーシップは、次回のログイン時に適用されます。したがって、新しいグループに自分自身を追加する場合は、デバイスをテストする前にログアウトしてから再度ログインする必要があります。
システムの全員がデバイスにアクセスできるようにするには、ルール行のMODE="0666"
末尾にそれを指定します。 (これを行う前に2回考える必要があります。)
それらを一つにまとめる
したがって、既存のルールファイルを特別に変更する必要がない場合は、独自のルールファイルを作成できます/etc/udev/rules.d/99-mydevice.rules
。
sudo <your-favorite-text-editor> /etc/udev/rules.d/99-mydevice.rules
ローカルにログインしたユーザーだけがデバイスを使用できるようにする場合は、ファイルの内容は次のようになります。
SUBSYSTEM=="usb", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", TAG+="uaccess"
ルールファイルを保存したら、次のコマンドを実行して新しいルールがすぐに適用されるようにします。
udevadm control --reload-rules
グループベースのソリューションを使用している場合は、今すぐサインアウトしてからもう一度ログインしてください。