[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:39791] [summary] <Q> smtp authentication with woody



柴田(あ)です。

牧田さま、飛田さま、大橋さま、いけだ@福山市さま、武井伸光さま
ご検討ありがとうございました。

実験は成功しましたので、本番でうまくいくものとして
サマリをポストします。

In message <20040220091210.27C6717B8D9@arashi.debian.or.jp>
   "[debian-users:39597] <Q> smtp authentication with woody"
   "Fri, 20 Feb 2004 18:12:11 +0900"
   "SHIBATA Akira <shibata@xxxxxxxxxxxxxx>" wrote:

> ■質問
> woody で smtp auth を使うにはどのパッケージを
> 使うとよいでしょうか?
> あるいは woody ではダメそうですか?
> (apt-cache search ではでてきませんでした)

■回答
下の背景と目的のような状況下では次の方法にて
実現可能でした。
なお、もっとも有効だった情報は
 http://www.koka-in.org/~bg66/blog/archives/000105.html
でした。

■方法
前提:すでにいったん qmail が動いている状態からのスタート
   ですので、 ucspi なども使える状態にあることとします。
   ディストリビューションは Debian GNU/Linux Woody です。
必要なパッケージ
  http://members.elysium.pl/brush/qmail-smtpd-auth/
    から 0.31 release を入手
  http://members.elysium.pl/brush/cmd5checkpw/
    から cmd5checkpw-0.22.tar.gz を入手
    (結局これはつかいませんでした)
二つのターミナル画面を使います。
上から時系列に
●ターミナル1でコンパイル開始
$ sudo rm -rf /tmp/qmail  ←コンパイルディレクトリも削除して初期化
$ sudo build-qmail        ←コンパイル開始、以下は画面の表示

This script unpacks the qmail source into a directory, and
compiles it to produce a binary qmail*.deb file.

The directory where this is done will end up containing the source
and package files for the qmail binary package, along with a
directory containing the unpacked source.

Enter a directory where you would like to do this [/tmp/qmail]
dpkg-source: extracting qmail in qmail-1.03

dpkg-source: extracting qmail in qmail-1.03

Binary package qmail will be compiled now
If you want to apply a custom patch, switch to another console and do it now
This can take long time, depending on your machine

Press ENTER to continue...         ←このタイミングでパッチを当てます
                                     すぐ上の文でパッチ当てるなら今だ!みたいにかかれてます
●ターミナル2へ切り替えて
$ cd /tmp/qmail/qmail-1.03         ←コンパイル中のディレクトリに入ります。
$ sudo cp  ~/smtpauth/qmail-smtpd-auth-0.31/base64.* .              ← base64 関連ファイルコピー
$ cat ~/smtpauth/qmail-smtpd-auth-0.31/auth.patch | sudo patch -p0  ←パッチ当てます
patching file Makefile
patching file TARGETS
patching file qmail-smtpd.8
patching file qmail-smtpd.c
Hunk #2 succeeded at 63 (offset 1 line).     ←とにかくパッチ当たりました
Hunk #3 succeeded at 262 (offset 21 lines).  ←とにかくパッチ当たりました
Hunk #4 succeeded at 437 (offset 23 lines).  ←とにかくパッチ当たりました
Hunk #5 succeeded at 667 (offset 23 lines).  ←とにかくパッチ当たりました

●ターミナル1で [Enter] をまっているので、 [Enter] をたたくと
そのままインストールまで行きます。

くだんの URL より /etc/init.d/qmail の修正が必要という
情報があったので修正しました。
効果があるかどうかわかりませんが、
AUTH=smtp-login
をファイルの上のほうで記述し、 qmail-smtpd を起動しているところを
        sh -c "start-stop-daemon --start --quiet --user qmaild \
            --exec /usr/bin/tcpserver -- -R -H \
            -u `id -u qmaild` -g `id -g nobody` -x /etc/tcp.smtp.cdb 0 smtp \
            /usr/sbin/qmail-smtpd \
            /usr/bin/checkpassword \
            /bin/true 2>&1 | $logger -t qmail -p mail.notice &"
というようにかえました。
リブートすると起動途中でささってダメダメだったので、
checkpassword の権限をかえました。
$ sudo chmod4711 /usr/bin/checkpassword
$ ls -l /usr/bin/checkpassword
-rws--x--x    1 root     root        11500 Feb 28 17:19 /usr/bin/checkpassword
また、単なる smtp サーバですし、ログインパスワードをつかってますので
$ sudo usermod -s /bin/false 'USER'
のようにしてログインできないようにしました。

ログインパスワードが、もっともどの SMTP Auth をする
メイルソフトでも使えそうだったので、これで行くことに
しました。
あとは利用する人へのパスワード発行をしっかりして
発信管理も見ておく方向でかんがえています。


■確認
なお、第三者中継しないかどうかは
http://www.nanet.co.jp/rlytest/relaytest.html
にて送信サーバのほうのチェックを行いました。
これのチェックで成功と考えポストいたしました。


■謝辞
パッチの当て方もしらない(オプション -P0 など)わたくし
でしたが、ネットの情報と皆様の助言にてパッチファイルを
読んだりして希望に近づけました。
ありがとうございました。


> ■背景と目的
> 送信用メイルサーバを建てたいと考えています。
> 受信用のメイルサーバ( pop サーバ)は別にあります。
> 送信者がどこからつなぎにくるかわからないので
> smtp auth を仕込みたいと考えました。
> pop before smtp は pop サーバが別なので今回は
> 検討外としたいと考えています。
> 現在 qmail を使っています。
> 
> 
> ■希望
> できれば woody で(ダメなら sarge も検討したいです)、
> できれば qmail で(ダメなら postfix など他の MTA も
> 検討したいです)、
> できればバイナリをそのまま(ダメならコンパイルします)
> 利用して smtp auth を実現したいと考えています。

-- 
SHIBATA Akira      ケーブルテレビはまちづくり
shibata@xxxxxxxxxxxxxx   phone : +81-429-74-3611