投稿日:2005年06月24日 作成鷹の巣

No.19268 メール転送がうまくできません。



メール転送がうまくできません。

No.19268 投稿時間:2005年06月24日(Fri) 15:08 投稿者名:penpen URL:

お世話になります。
まずは環境から。
OS:Redhat Enterprise ES 3
SMTP:sendmail8.12.10-1
POP:qpopper4.0.5
AMTP-Auth:cyrus-sasl-2.1.15.3

この環境で構築中です。
SMTP-Authによる認証をつけ、送受信ともにうまくいっています。

しかし「.forward」による転送がうまくいきません。
sendmailのリレー(/etc/mail/access)は127.0.0.1とそのサーバー自身のIPだけを可能にしています。
メールのログは以下のようになっています。
Jun 24 14:36:30 linux sendmail[4743]: j5O5aUqw004742: forward /home/test/.forward: World writable d
irectory

.forwardは、ユーザーディレクトリ直にて、単なる転送(転送先メールアドレスを記述)と、元に残しつつ転送(\test,転送先アドレス)の両方行ってみましたがどちらもうまくいきません。

単純に.forwardを設置するだけで転送されると思っていたのですが、何かsendmail側に設定しておかないといけないのでしょうか?
よろしくお願い致します。


ユーザディレクトリを755にしたら無事転送されました。。

No.19269 投稿時間:2005年06月24日(Fri) 16:09 投稿者名:penpen URL:


すいません。
質問早々に自己レスです(苦笑

sendmail8.9以降はチェックが厳しくなり、.forwardを置いてあるフォルダのパーミッションがオーナー以外の書き込みが可能にしてあると動作しない…というのが原因でした。
ユーザディレクトリを755にしたら無事転送されました。

お騒がせして申し訳ありませんでした。


CGIからの権限はnobody扱いなので.forwardが755では更新が不可能です。(再び問題浮上)

No.19282 投稿時間:2005年06月25日(Sat) 10:39 投稿者名:penpen URL:

自己解決したハズだったんですが…新たな問題にぶちあたったもので。

.forwardは無事動作するようになったものの、元々ブラウザ経由で転送先設定を変更できるようにCGIを組んでいました。
CGIからの権限はnobody扱いなので.forwardが755では更新が不可能です。
元々Redhat-ESにはsuEXECが入っていて、これをうまく使いこなせていないせいでpublic_html直下ではCGIが動作しなく、やむをえず/usr/sbin/suexecの名称変更で強制的に動作しないようにしてCGIの動作を可能にしていたのですが…結局これがアダとなっている状態です。

suEXECを動作するように戻し、.forwardを書き換えるためのCGIをオーナー権限で動作させればいいはず…と、思ってはいるのですが…やっぱりsuEXECが生きている状態ではpublic_html直下CGIが動作しません。そのCGIの権限設定もいろいろやってみたのですが。(あるいは仮にCGIが動作してもpulic_htmlと同じ階層にある.forwardをpublic_html内から操作できるのかどうかも…いまのセキュリティが強化されてる状態では不安なんですが…)

suEXECをどうにかしなくても良い方法(別の方法でCGIから.forwardを更新)でも良いのでお知恵をお貸しください。

よろしくお願いします。


FTP転送するのを作り、CGIを動作させることで解決しました。

No.19304 投稿時間:2005年06月27日(Mon) 14:44 投稿者名:penpen URL:

結局のところ、sendmail側の権限をゆるめるのもうまくいかず、suEXECの方もうまくいかず…。

シェルスクリプトでlftpを使って.forwardをFTP転送するのを作り、CGIからそれを動作させることで解決しました。

ID、PASS、新転送先をフォームから渡してCGI作動→新転送先が書かれた一時ファイルを作成→シェルを起動させFTP(lftp)でログイン→一時ファイルを.forwardとしてPUT→CGIに戻る→一時ファイルを削除
…という流れです。


目次掲示板過去ログ目次▲頁先頭