vine-users ML アーカイブ



[vine-users:079602] Re: MPlayer で DVD 再生不可

  • From: "M.H" <misty.haiku@xxxxxxxxx>
  • Subject: [vine-users:079602] Re: MPlayer で DVD 再生不可
  • Date: Thu, 10 Sep 2009 22:53:02 +0900
こんばんは、M.H です。

> 原因:/dev/sr0 のパーミッション、もしくは、グループの所属、オーナー
> 対応 その1:一般ユーザを cdrom グループに入れてあげる、
> もしくは、/dev/sr0 のグループを適当に変更する。
> 対応 その2:/dev/sr0 のパーミッションを 664 以上にする。
> などで対応可能です。
> 

ACL(アクセスコントロールリスト)の話が抜けています。

> $ ls -l /dev/sr0
> brw-rw----+ 1 root cdrom 11, 0  9月 6日 09:35 /dev/sr0

+ が付いているのは ACL が設定されているということです。

[...~]$ getfacl -a /dev/sr0
getfacl: Removing leading '/' from absolute path names
# file: dev/sr0
# owner: root
# group: cdrom
user::rw-
user:hashima:rw-
group::rw-
mask::rw-
other::---

一般ユーザー(この場合 hashima)に読み書きの権限が与えられているので、
通常は何もしなくてもDVDは再生出来るんじゃないでしょうか。
hal の ACL マネージメントが働いているおかげだと思います。
これが働いていないと、たぶん音も鳴りません。

[...~]$ getfacl -a /dev/snd/controlC0
getfacl: Removing leading '/' from absolute path names
# file: dev/snd/controlC0
# owner: root
# group: audio
user::rw-
user:gdm:rw-
user:hashima:rw-
group::rw-
mask::rw-
other::---

gdm のログイン画面では音が鳴らせるようになっているので、
audio グループのデバイスには、gdm にも権限が与えられているっぽいです。

この hal の挙動がクセもので、PolicyKit の暗黙の権限だと、
DVDや空のCDを挿入すると、
/dev/sr0 の ACL の設定から一般ユーザーが削除されてしまいます。

「権限の管理」で「org」→「freedesktop」→「hal」→「device-access」→
「Directory access removable block devices」の「暗黙の権限の一覧」を
「編集」して、「端末」「実行中の端末」を「yes」「yes」にすると、
削除されなくなります。

/usr/share/PolicyKit/policy/org.freedesktop.hal.device-access.policy を編集して、
"org.freedesktop.hal.device-access.removable-block" のところを

<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>

にすれば同様の結果が得られます。これがデフォルトでいいんじゃないでしょうか。

# ここら辺の挙動は複雑怪奇、そこに愛はあるのかい?って感じ ^^;

Thanks!
  -M.H