vine-users ML アーカイブ



[vine-users:076989] Vine4.1と X-CD-Roast(xcdroast、 cdrecord)の亊

  • From: Seiichirou Babasaki <mindgear@xxxxxxxxxxxx>
  • Subject: [vine-users:076989] Vine4.1と X-CD-Roast(xcdroast、 cdrecord)の亊
  • Date: Tue, 5 Jun 2007 19:54:27 +0900
馬場崎です。
問題が表面化したのが最近でしたのでちょっと戸惑いました。
既出なのですが、整理したい面が有ったので投稿します。
(環境は全てVine4.1です)

■ 既出の記事
  バグトラッキング-システム
     BTS 183: 「一般ユーザーで xcdroast から CD/DVD が焼けない」(状態:完了)
  Vine-users-ML
     [vine-users:076774] X CD Roast にて、一般ユーザーから書き込みを行うには?
  以下、[vine-users:076775] [vine-users:076789] [vine-users:076792]

■ 問題のように見える事柄
SCSI接続* ではない、ATAPI接続のCD/DVD書き込みドライブをVine4.1のような
Kernel2.6系列で使う場合。
この時 X-CD-Roast(xcdroast) から DVD-RAM/R/RW を扱うことは出来るのに
一般ユーザーは CD-R/RW を扱うことが出来ない。
ユーザーが root ならばこの問題は起きない。
(*SCSI接続……ネイティブの他に内蔵SATA接続のドライブが含まれる)
  ※USB経由はまた別

→→ 記事によれば、これは意図した動作であるという事。
(一般ユーザーは CD-R/RW を扱えないように制限されている)

■ 今回の個人的な状況
何という巡り合わせか、問題の発生した僕の機器ではVine4.xになってから
CD-R/RW を一度も焼いていないのでした。たまたまなのですが、職場で
配置されたノート型機器を使用しており、それは内部でS-ATA接続された
CD-RW/DVD-ROM ドライブで、つまりSCSIデバイスとして認識されていました。
何故かこればかりを使って CD-R/RW を焼いていたので、既出であったにも
かかわらず、見事にもう一度同じ落し穴に落ちるという愚行を繰り返して
しまった次第です。

※今回の出来事ではDVDを使っている部分では何も問題が起きませんので
  余計に慌てました。

その代わり、BTSとメーリングリストのおかげで問題そのものはすぐに
解決できました。
ただ、どう解決するのが一番良かったのか、そこが疑問として残りました。

●対策 --> cdrecord の属性を一部変更する

※変更前
[root@babayan root]# ls -l /usr/bin/cdrecord
-rws--x--x 1 root root 400248 11月 3日  2006 /usr/bin/cdrecord*
   ^ ここが s である。

※変更する
[root@babayan root]# chmod 711 /usr/bin/cdrecord

※確認
[root@babayan root]# ls -l /usr/bin/cdrecord
-rwx--x--x 1 root root 400248 11月 3日  2006 /usr/bin/cdrecord*
   ^ ここが x になる。

■疑問■ cdrecord を変更して良かったのか?

BTSの記事からは「ATAPI接続のCD-ROM系デバイスを使えるのはrootだけ」と
読み取れます。そこに ide-scsi を使うという例も示されていましたので、
試しにkernelパラメータ hda=ide-scsi を与えてみました。

すると/dev/以下に懐かしい /dev/scd0 が作られましたが、結局のところ
一般ユーザーから CD-R/RW を使うことは出来ませんでした。
(ここでパラメータを元に戻しています)

僕の所のデバイスファイルについてですが、
[root@machina root]# ls -l /dev/sg*
crw------- 1 babasaki root 21, 0  6月 5日  2007 /dev/sg0
crw------- 1 babasaki root 21, 1  6月 5日  2007 /dev/sg1
crw------- 1 babasaki root 21, 2  6月 5日  2007 /dev/sg2
……このように sgデバイスが存在しています。(何故か三つ)
xcdroastの設定でこれらを指定してみても、そこに実体は無いようです。

さて。
[vine-users:076774]以下のスレッドも合わせて読むと、cdrecord の動作が
そもそもの原因(という表現は違うのでしょうけれど)なので、ML記事中の
「 cdrecord のパーミッションを変更する」
……という方法を取りますと、一般ユーザーでも使えるようになりました。
 sビット を取っちゃう事になりますでしょうか。

※これらの結果、k3b からも CD-R/RW が扱えるようになりました。

この機器は僕一人でデスクトップ利用に使う機器なのでこれでも良いとして、
何人かが扱う機器ではこの方法を取らずに 面倒でも root になってから使う
方法を奨めるべきなのかなぁ、とか考えています。

方法をまとめますと、次のようになるでしょうか
1) CD-R/RWは必ず root で使う
2) /usr/bin/cdrecord の属性を変更する
3) それ以外の何か

…… 3)の、「他の方法」についてはとうとう思い付きませんでした。
この投稿も尻切れトンボになります。

-- 
__/__/__/__/__/__/__/__/__/__/__/__/
 ZON or MaruArt. 
>> Babasaki Seiichirou (Jap)
E-Mail  mindgear@xxxxxxxxxxxx
Nokia N800 zon@xxxxxxxxxxxx
__/__/__/__/__/__/__/__/__/__/__/__/