コメント |
|
|
> 以下のような対応を検討してもらえると助かります。
> 1.nautilus-cd-burner の実行に一定の権限を設定する。
> 2.(例えば)コンソールユーザーならパスワード等無しに
> 利用できるようにし、使い勝手の低下を防ぐ。
とりあえず consolehelper を使った以下のような設定を
試してみました。
まず、/etc/pam.d/nautilus-cd-burner に以下を記述
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_console.so
session required /lib/security/pam_permit.so
session optional /lib/security/pam_xauth.so
account required /lib/security/pam_permit.so
それから、/etc/security/console.apps/nautilus-cd-burner に
同じく以下を記述。
USER=root
SESSION=true
次に /usr/bin 配下の nautilus-cd-burner を /usr/sbin に
移動し、consolehelper へのリンクを新たに作成。
# mv /usr/bin/nautilus-cd-burner /usr/sbin/nautilus-cd-burner
# ln -s /usr/bin/consolehelper /usr/bin/nautilus-cd-burner
こうすることで、console user の場合はパスワードの入力無しに
CD/DVD が焼けるようになりました。
セキュリティ的には甘くなってしまいますが、CD/DVD を焼くために
sudo したりパスワードを入力させたりするよりはスマートだと思います。 |
|
|
|
cd/dvd ドライブは owner が console user になるはずなので、
/usr/bin/cdrecord を 0755 に直せばそのままで書き込めるよう
になるとおもいます。現在4710になっているのは xcdroastが %post
で行っているものだと思いますが、デバイスのownerがconsole user
になる現状では、xcdroastのやりかたはあまりよろしくないと思い
ます。とりあえず xcdroast で chmod しないように変更したうえで
cdrtools の方でパーミションの修復スクリプトを仕込むという風
にするのがいいかとおもいます。
# console user と root 以外で cdwrite グループにはいっている
# ユーザは書き込めなくなりますが、そんな必要はないでしょうし。 |
|
|
|
> cd/dvd ドライブは owner が console user になるはずなので、
> /usr/bin/cdrecord を 0755 に直せばそのままで書き込めるよう
> になるとおもいます。
試してみたのですが、以下のエラーが出て CD に書き込めませんでした。
$ nautilus-cd-burner
(nautilus-cd-burner:2889): GLib-CRITICAL **: g_error_free: assertion `error != NULL' failed
画面は以下のように遷移しました。
(コマンド実行) -> ファイル選択を促される -> CD/DVDクリエイタを開くボタンを押す
-> nautilus CD/DVDの作成ウィンドウが開く -> 書き込むイメージを D&D で指定
-> ディスクへの書き込みボタンを押す -> 書き込み先等を指定するウィンドウが開く
-> 書き込むボタンを押す -> (CD/RWなので)ディスクの消去の確認画面が出る
-> ディスクの消去ボタンを押す -> ディスクの書き込みエラーウィンドウが出る
-> ディスクに書き込む際にエラーが発生しました、と表示され OK ボタンを押す
-> ターミナルに上記のエラーが出力される
念のため、cdrtools-cdrecord と nautilus-cd-burner を
再インストールして試してみたのですが同様にエラーでした。
環境は以下の通りです。
$ rpm -q nautilus-cd-burner cdrtools-cdrecord
nautilus-cd-burner-2.14.3-0vl1
cdrtools-cdrecord-2.01-0.a31vl2
$ ls -l /usr/bin/cdrecord /usr/bin/nautilus-cd-burner
-rwxr-xr-x 1 root root 357810 6月19日 2004 /usr/bin/cdrecord*
-rwxr-xr-x 1 root root 71227 8月 2日 22:23 /usr/bin/nautilus-cd-burner*
$ ls -l /dev/cdrom /dev/scd0
lrwxrwxrwx 1 root root 4 8月18日 00:25 /dev/cdrom -> scd0
brw------- 1 kazu disk 11, 0 8月18日 00:25 /dev/scd0
$ id
uid=501(hoge) gid=503(hoge) 所属グループ=6(disk),503(hoge)
もちろん、前のリプライに書いた consolehelper を使うための設定は
全て消した状態でテストしています。
> # console user と root 以外で cdwrite グループにはいっている
> # ユーザは書き込めなくなりますが、そんな必要はないでしょうし。
まず大丈夫だと思います。 |
|
|
|
> $ ls -l /dev/cdrom /dev/scd0
> lrwxrwxrwx 1 root root 4 8月18日 00:25 /dev/cdrom -> scd0
> brw------- 1 kazu disk 11, 0 8月18日 00:25 /dev/scd0
>
> $ id
> uid=501(hoge) gid=503(hoge) 所属グループ=6(disk),503(hoge)
中途半端にユーザ名を修正しようとして変な記述になってました。
実際には hoge と kazu は同じになっています。 |
|
|
|
原因が分かりました。
nautilus-cd-burner が cdrecord を実行する時に、
デバイスを、cdrecord dev=1,0,0 のように SCSI ID
で指定する為、/dev/sg* の permission が無くて
エラーになっていました。
(CF-W4 の内蔵 CD ドライブは USB 接続の為)
手動で /dev/sg0 の owner を変更したところ、
nautilus-cd-burner で一般ユーザでも問題無く
CD 焼けることを確認しました。
またコマンドラインから直接 cdrecord dev=/dev/cdrom
としても、問題無く動作することも確認しました。
本来なら nautilus-cd-burner 側を、sym link を
参照するように変更すべきなのかも知れませんが、
ちょっと大変そうなので、console.perms で対応
する方が妥当かなと思います。 |
|
|
|
> > 手動で /dev/sg0 の owner を変更したところ、
> > nautilus-cd-burner で一般ユーザでも問題無く
> > CD 焼けることを確認しました。
>
> xcdroastでも同じ問題が出ています。CDドライブはP-ATA接続でhddと
> なっています。
> Calling: /usr/lib/xcdroast-0.98/bin/xcdrwrap CDRECORD dev=
> "ATA:1,1,0" gracetime=2 fs=16384k driveropts=burnfree -v -
> useinfo speed=16 -dao -eject -pad -data "/var/tmp/track-01.iso"
> ...
/etc/security/console.perms.d/50-default.perms に
以下の記述を加えて、/dev/sg* の owner が
コンソールユーザーになるようにすれば、
一応対応できることは確認しました。
<scsigeneric>=/dev/sg*
<console> 0600 <scsigeneric> 0600 root
ちょっと安直な対応ですが、これでどんなもんでしょうか? |
|
|
|
> /etc/security/console.perms.d/50-default.perms に
> 以下の記述を加えて、/dev/sg* の owner が
> コンソールユーザーになるようにすれば、
> 一応対応できることは確認しました。
>
> <scsigeneric>=/dev/sg*
> <console> 0600 <scsigeneric> 0600 root
>
> ちょっと安直な対応ですが、これでどんなもんでしょうか?
他のデバイスと同等なのでそれで問題ないと思います。
pamパッケージを修正しておいてもらえますか? |
|
|
|
> 他のデバイスと同等なのでそれで問題ないと思います。
> pamパッケージを修正しておいてもらえますか?
修正したパッケージ 0.99.3.0-0vl4 を upload しました。
状態を完了に変更します。
尚、xcdroast の類似する現象は別バグとして分割しました。 |
|