CentOS6(RHEL6)でデバイスのデフォルトパーミッションを設定する
Linuxのデバイスファイルのパーミッションは、マシン起動時にudevによって設定されおり、CentOS5(RHEL5)の場合は、/etc/console.perm.d/50-default.perms というファイルに、以下のような内容で、デバイスのデフォルトパーミッションが定義されている。
例えば、一般ユーザが、サウンドデバイスをで利用できるようにしたい場合、このファイルの<sound>の項目を編集するか、/etc/console.perm.d/ 配下に51-sound.perms などのファイルを作成し、<sound>の項目に、一般ユーザでも読み書き可能とするパーミッションを設定しておけば、/dev/snd (サウンドデバイス)のパーミッションが一般ユーザでも読み書き可能になる。
● /etc/console.perm.d/50-default.perms 抜粋
<sound>=/dev/dsp* /dev/audio* /dev/midi* \
/dev/mixer* /dev/sequencer* \
/dev/sound/* /dev/beep \
/dev/snd/* /dev/adsp*
# permission definitions
<console> 0600 <sound> 0660 root.audio
※ 所有者 root, 所属グループ audioで、所有者とグループにのみ、読み書き権限をつけている。
↓
<console> 0600 <sound> 0666 root.audio
しかし..CentOS6(RHEL6)になってから、この辺の仕組みが変更になったらしく、
上記のファイルは存在しないし、上記の内容でファイルを作成して設定しても反映されない。
で、調べてみると、CentOS6(RHEL6)の場合は、/lib/udev/rules.d/50-udev-default.rules というファイルでデフォルトパーミッションが定義されていることが分かった。
ただ...RHEL6のドキュメントによれば、/usr/share/doc/device-mapper-version(例:
/usr/share/doc/device-mapper-1.02.66/ )配下にある、12-dm-permissions.rules
を/etc/udev/rules.d にコピーして、デフォルトパーミッションの設定を変更するのが正しいらしいのだけど、書き方が分からないので、断念。 とりあえず、目的は達成できたので、OKとしよう。
● /lib/udev/rules.d/50-udev-default.rules 抜粋
# sound
SUBSYSTEM=="sound", GROUP="audio"
↓ ※ MODE= を追加して、パーミッションを設定。
SUBSYSTEM=="sound", MODE="0666", GROUP="audio"
KERNEL=="mixer0", SYMLINK+="mixer"




















