[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:73107] Re: メールがプログラムに渡せない


 Necoです。

In Message-Id <200008291623.AA01379 _at_ jiro.pluto.dti.ne.jp> 
        catmoon _at_ pluto.dti.ne.jp (Hiromi Shiraishi) さんwrites:
> しらいしです。

> マルチで失礼致します。

 マルチはそんな喋り方しないですぅ。(意味不明)


> 私もさっそくCFをダウンロードしてきて、マニュアルや98-0001-05.jis.txtを
> 読んでみました。

 ひょっとすると勘違いしてるかも知れないので補足しておきます
と、ここでいしおかさんが CF を引合いに出したのは CF に同梱の
document の記述を引用したからであって、この問題解決を CF を
用いて行ないなさいということではないと思います。

 まず一つにはここで挙げられている各識別子は sendmail 自身が
解釈するものであって、手で sendmail.cf を書換えることで設定
変更可能です。CF は必ずしも使いません。
 例えば group writable な .forward を許したければ以下の行を
追加します。
	O DontBlameSendmail=GroupWritableForwardFileSafe

 更に言うならば、この DontBlameSendmail による制限を回避す
るには、sendmail 側の設定を変更するよりは .forward 側の条件
を見直すという方針の方が妥当でしょう。
 ここで挙げられている各識別子は初期設定では未設定になってい
ますから、「○○を許す」という option があれば、それは初期設
定では○○は許されていないと見るべきです。
 であれば、その○○でない状況下に .forward を置いてやれば済
む話で、そういう対処であれば sendmail 側の設定変更は特に必要
ではなく、end user level の対処で済みます。
 以下に各識別子別の .forward 側の対処を示します。


> >     GroupWritableForwardFileSafe
> >        group writable な .forward ファイルの使用を許容します。

 ls -l ~/.forward してみましょう。rw-rw-r-- になっていたり
はしませんか?chmod g-w ~/.forward で group unwritable にし
ましょう。


> >     ForwardFileInGroupWritableDirPath
> >        .forward ファイルが group writable なディレクトリパスに存在す
> >        ることを許します。

 ls -ld ~ してみましょう。rwxrwxr-x になっていたりはしませ
んか?危険なので chmod g-w ~ で group unwritable にしておき
ましょう。


> >    ForwardFileInUnsafeDirPath
> >        .forward ファイルが安全でないディレクトリパスに存在することを
> >        許します。

 この「安全でない」は group/world writable であることを指す
ようです。上記同様 chmod go-w ~ でいいでしょう。


> >      ForwardFileInUnsafeDirPathSafe
> >        安全でないディレクトリパスに存在する .forward ファイルからのプ
> >        ログラムの起動やファイルへの配信を許します (さらに /etc/shells 
> >        によるチェックも満足する必要があります)。
> >        GroupWritableDirPathSafe が指定されていない場合は、daemon (正
> >        確には DefaultUser に指定されたユーザ) の権限で処理されます。
> >        ForwardFileInUnsafeDirPath だけを指定した場合は、他のアドレス
> >        へのメールの転送のみが可能になります。

 これは「安全でない」directory path に .forward があった場
合の扱いですので、chmod go-w ~ されていれば大丈夫の筈です。


 また上記 4 つ以外にこういうのもあります。

>      LinkedForwardFileInWritableDir
>         .forward ファイルへのリンクが安全でないディレクトリパスに存在
>         することを許容します。

 .forward が symbolic link になっていたりはしませんか?もし
そうならば実体側の .forward についても上記のように parmission
を見直す必要があります。


> ただ、今問題になっているのは会社の実験用マシンで、簡単にCFの設定を
> 変えられないのです。

 これはおかしな話なんじゃないでしょうね?「実験用」なのに設
定変更出来ないというのでは何のための実験用なんだか判りません。
実運用マシンというのならまだ判るのですが。
 sendmail.cf の設定をいじる必要は多分ないとは思うのですが、
実験用マシンであればそういう設定変更をもっと flexible に行な
える状態においておきましょうよ。


> ただ、確かにさかいさんがおっしゃるように ~ は使えないような気が
> しますね。

 私の記事読んでないかな?「Linux では」~ も使える筈です。


> ここはフルパスで書くようにします。

 その方が無難であることは確かです。


> >誰から来るともわからないメールをプログラムに自動処理させるのは危険なので、
> >デフォルトだと実行できないように設定してあるのだと思いませふ。

 sendmail の初期設定で禁止されているのは、飽くまでも unsafe
な directory に存在する aliases なり .forward なりであって、
program の自動実行自体が標準的に禁止されている訳ではないと思
います。
 .forward に slocal 等の filter を end user が独自に用意す
ることはこれまで割と一般的に行なわれてきていますから、それを
ある version の sendmail から禁止してしまうと混乱が生じるこ
とでしょう。
 その混乱の生じない程度に、過去との親和性を鑑みながら出来得
る範囲で最大限の security を保つというのが sendmail の方針な
んだと思います。

                                       白井 隆 (as Neco)


この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: