- PR -

RedHat標準のsendmailでローカル配信をする設定について

1
投稿者投稿内容
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2003-12-08 19:58
こんばんは。森谷です。

構築時にまたもや疑問がわき上がったので、相談です。

各サーバ上で色々な監視スクリプトを走らせており、異常が発生した場合は、その旨のメールを遠隔地の管理者に送付しようとしています。
その際のメールの送信でsendmailを利用しようとしているのですが、RedHat標準添付のsendmailの場合、デーモンとして起動させていないと、サーバからメールを送信する事ができません。
メールサーバとしてなら、デーモン起動が必要だと思いますが、通常のサーバから直接メールを送信する場合にも自サーバ上でsendmailを起動しておく必要があるのでしょうか?
# その必要はなかった気がするのですが、送信できず、デーモン起動を行おうと
# 送信できます。

対処療法では納得出来ないため、皆さんにご相談です。
よろしくお願い致します。
omatsu
常連さん
会議室デビュー日: 2002/08/29
投稿数: 20
投稿日時: 2003-12-08 20:18
これでしょうか。

"Q3.44 -- I disabled sendmail on some machines which don't receive mail, but since upgrading to 8.12 they can't send mail either; why?"

http://www.sendmail.org/faq/section3.html#3.44
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2003-12-08 22:22
こんばんは。森谷です。

返信ありがとうございます!

早速Webページを見ました。下記設定が.mcファイルに施してあれば、ローカルからのメールの配信を受けると解釈しました。
--
DAEMON_OPTIONS(`NAME=NoMTA4, Family=inet, Addr=127.0.0.1')dnl

以前は、デーモンとしてsendmailを立ち上げなくても良かったと記憶していますが、8.12以降は、上記設定を施した後、デーモンとして起動ということでしょうか?

# 25番で待ち受けるのはあまり気持ちの良い物ではないなと…。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2003-12-08 22:49
試してないですが、たぶん、こんな手順になるかと。
# 手持ちのホストは全部postfixなので。

1) メールをキューに入れる。(/bin/mailなどで)
2) (念のため)キューに入ったことを確認。sendmail -bp かな。
あるいは /usr/bin/mailq を実行。
3) キューのメールを送信。sendmail -q を実行だったような。
 (確認するなら sendmail -v -q で)


森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2003-12-09 10:15
おはようございます。森谷です。

ちいにぃさん返信ありがとうございます。

示して頂いた手順の3)以降はCronで起動するということでしょうか?それも手かも知れませんが、障害時のサーバからのメール配信を行いたいので、常時メールを送信したいのです。
# 3)は一般ユーザでは実行出来ませんでした。

いろいろわがままですよね…。
ちいにぃ
大ベテラン
会議室デビュー日: 2002/05/28
投稿数: 244
投稿日時: 2003-12-09 12:35
引用:

森蔵さんの書き込み (2003-12-09 10:15) より:
示して頂いた手順の3)以降はCronで起動するということでしょうか?それも手かも知れませんが、障害時のサーバからのメール配信を行いたいので、常時メールを送信したいのです。
# 3)は一般ユーザでは実行出来ませんでした。



私は障害検出プログラムから 1)〜3)の手順を順にキックして‥‥と考えてましたが、
3)の手順を障害検出プログラムからキックしない場合はcronなどで実行しなきゃ
なりませんね。(Debian GNU/LinuxのPostfixかEximで、常駐しない場合こういう
設定だったような)

ということで、sendmailを常駐せずに、sendmail -q も実行しない‥‥となると、
私には思いつきませんです。

お役に立てず申し訳ないです。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2003-12-09 23:08
> # 3)は一般ユーザでは実行出来ませんでした。

ですよね.sudo 使ったらいかがでしょう?監視スクリプトを走らせる権限で sendmail だけ使わせうるようにするとか...
ちょっと邪道かもしれませんが...
omatsu
常連さん
会議室デビュー日: 2002/08/29
投稿数: 20
投稿日時: 2003-12-10 19:38
ローカル配信するには、(本来、自分は書き込みできない他のユーザのメールスプールに書き込むということなので)どこかで、root になる必要がありますよね。

8.12 より前の sendmail では sendmail に root setuid してあった。(ユーザが起動した sendmail コマンドが配信まで行う)
8.12 以降では、root setuid はセキュリティ上イヤなので、daemon 起動することにした。(ユーザが起動した sendmail コマンドは daemon に渡すだけ。daemon が配信を行う)

sendmail を setuid するとか、 sudo とか、 root にならせる方法は、いくつかありうるかも知れませんけど、
なぜ、8.12 以降の sendmail が、この方法を選んだのか、よく考えた上で結論を出した方がいいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)