2002年8月24日 改定
qmail を使ったメールサーバが構築できPOPによるメールの受信ができたならPOPやSMTPの根本的な問題に対して考察してみましょう。
以上のようにPOPおよびSMTPに対して暗号化・認証化の仕組を組み込む手順をいかに述べていきます。 認証機構としては、qmail-vida というパッケージを使います。 このパッケージはcheckpasswordに対するパッチとして提供されているので、以下の作業は既にqmail
が正常に動作しているものとして説明を行います。
qmail-vidaは次のサイトから入手できます。
上記のサイトからqmail-vidaのパッケージを入手したなら、これを解凍してからコンパイルを行います。 なお解凍は、/usr/local/src/qmailディレクトリで行うものとします。
# cd /usr/local/src/qmail [Enter]
# tar zxvf qmail-vida-0.51.tar.gz [Enter]
Makefileを開き、qmail関係の各パッケージのソースファイルの存在する場所を指定します。
QMAILSRC = ../qmail-1.03
CHECKPASSWORDSRC= ../checkpassword-0.90
UCSPITCPSRC = ../ucspi-tcp-0.88
PREFIX = /var/qmail
patchディレクトリのパッチとD.J.Bernstein氏のライブラリをqmail とcheckpassword に適用します。
# make patch [Enter]
# make copy [Enter]
qmail-vidaのための管理用グループ「vida」、リアルドメイン所有ユーザ「pop」、パスワードDB管理ユーザ「authdb」、 qmailのusers/assignファイル管理ユーザ「qmailu」を作成します。 また、authdbとqmailuの2ユーザをvidaグルー プに所属させます。
# groupadd vida [Enter]
# adduser -s /bin/false -d /var/qmail pop [Enter]
# adduser -G vida -s /bin/false -d /var/qmail authdb [Enter]
# adduser -G vida -s /bin/false -d /var/qmail qmailu [Enter]
なお、これらのユーザ名やグループ名を違う名前にしたい場合には、src/vidaディレクトリの下にあるconf-usersファイルの中を書き換えてください。
■コンパイル
checkpasswordのコンパイルを行います。(すでにqmailをインストールしてあるならこの作業は終わっていると思います)
# cd /usr/local/src/qmail/checkpassword-0.90 [Enter]
# make setup check [Enter]
を実行してcheckpasswordをインストールします。
つぎにvidaをインストールします。
# cd /usr/local/src/qmail/qmail-vida-0.51/src/vida [Enter]
# make setup check [Enter]
# cd ../.. [Enter]
# make install-doc [Enter]
qmailの設定での起動スクリプトを以下のように修正します。 まず、qmailをすべて停止してください。停止後、スクリプトの変更をします。
( /var/qmail/supervise/qmail-smtpd/run )
#!/bin/sh QMAILDUID=`id -u qmaild` NOFILESGID=`id -g qmaild` exec envdir /var/qmail/env sh -c ' softlimit -d6000000 \ /usr/local/bin/tcpserver -vHR -l"$HOST" -u ${QMAILDUID} -g ${NOFILESGID} -c 40 0 smtp \ /usr/local/bin/recordio /usr/local/bin/fixcrio \ /var/qmail/bin/qmail-smtpd "$HOST" checkpassword qmail-smtpd '
( /var/qmail/env/HOST )
hogehoge.co.jp
( /var/qmail/env/DOMAINOWNER )
pop
# mkdir -p /var/log/qmail/pop3d [Enter]
# chown qmaill /var/log/qmail/pop3d [Enter]
# mkdir /var/qmail/supervise/qmail-pop3d/log [Enter]
#
( /var/qmail/supervise/qmail-pop3d/run )
#!/bin/sh # # tcpserver -vHR -l "$HOST" -c40 -- "$IP" 110 \ exec envdir /var/qmail/env sh -c ' softlimit -d6000000 \ tcpserver -v -c 40 0 pop3 \ recordio \ qmail-popup $HOST checkpassword qmail-pop3d Maildir 2>&1<BR> '
( /var/qmail/supervise/qmail-pop3d/log/run )
#!/bin/sh exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/pop3d
qmail-visaでは、APOPやSMTP-AUTHの認証時に独自のユーザパスワードDBの情報を使います。 まずDB用のエリアを作成します。
# vida-pwdbinit [Enter]
#
つぎにそれぞれのユーザ単位で自分のパスワードを設定します。
まず、各ユーザでログインし直し、
$ vida-passwd
Current password: ---- 初めての時は聞いてきません。
New Password:
Retype new password:
$
以上で完了です。これでAPOPやSMTP-AUTHを使った認証が有効になるはずです。
qmail-vidaに関する情報: http://qmail-vida.sourceforge.jp/
qmailご本家: http://www.qmail.org/
滝澤 隆史さんのInternet Mail Private Lab.(日本語) http://www.emaillab.org/index.html
Copyrightc 1998-2003 ROBATA.ORG