udev と udev ルールとは
Udev は /dev の作成と名前付けに使用されるメカニズムです システムに存在するデバイスに対応するデバイス ノード。 Udev は、sysfs によって提供されたマッチング情報とユーザーによって提供されたルールを使用して、必要なデバイス ノードを動的に追加します。
デバイス用の /dev ディレクトリの下には静的ファイルはありません。デバイスは、どのデバイスがカーネルに接続/切断されているかを監視するデーモンである udev (または udevd) によって動的に作成/削除され、それに応じて追加の適切なスクリプトを実行します。 /dev ディレクトリの下に手動でファイルを作成したり、そのファイル属性を変更したりしても効果はありません。手動での変更は無視されるか、自動的に修正される可能性があります。
この投稿では、udev を使用して /dev ディレクトリ配下のデバイス ファイルの属性を設定する方法について説明します。 udev の共通構成ファイルは /etc/udev/rules.d ディレクトリの下にあり、デバイス ファイルを作成するための規則が記述されています。ファイルには .rules 拡張子/サフィックスと一意の名前が必要です。その他は無視されます。これらのファイルは字句順に参照されるため、60-raw.rules は 70-persistent-net.rules の前に参照され、後の規則ファイルで除外を指定しない限り、後の規則は前の規則を上書きします。
注意 :.rules ファイルの構文は、udev の man ページに記載されています。
udev ルールを使用してファイルの所有者/グループを変更する
udev ルールを使用して、デバイス /dev/sdx の所有者/グループを oracle/oinstall に変更する例を見てみましょう。
1.以下の行を含む /etc/udev/rules.d/99-perm.rules という名前のファイルを追加します。ファイル名は、99 のような適切な数字のプレフィックスが付いたものであれば何でもかまいません。
# vi /etc/udev/rules.d/99-perm.rules KERNEL=="sdx", OWNER="oracle", GROUP="oinstall"
2. 「udevadm」コマンドで新しいルールをテストします。以下の出力に示すように、ルールはデバイス /dev/sdx に適用されます。
# udevadm test /block/sdx 2>&1 | grep "OWNER\|GROUP" udev_rules_apply_to_event: OWNER ## /etc/udev/rules.d/99-perm.rules udev_rules_apply_to_event: GROUP ## /etc/udev/rules.d/99-perm.rules
ここで、## は oracle/oinstall の UID/GID を示します。
3. udevadm を実行して新しいルールを有効にし、変更を確認します。
# udevadm control –reload-rules # udevadm trigger /block/sdx
4. /dev/sdx デバイスの権限を確認します。
# ls -al /dev/sdx brw-rw----. 1 oracle oinstall 202, 0 Feb 9 14:20 /dev/sdx注意 :udev ルールの設定後にシステムを再起動する必要はありませんが、再起動することをお勧めします