★qmailでsmtp認証+netqmail
qmailではrelay-ctrlでも認証ができますが(Pop before Smtp)
smtp認証をするためにはどうすればいいのでしょうか.
このためにqmail-vidaがあります.(qmail-vida-0.53.tar.gz)
ここでは,すでにqmailがインストールしてあるとします.(qmail参照)
以前に作った,/usr/local/src/qmail-1.03とかは全て,消しましょう.
例えば
# cd /usr/local/src # rm -R qmail-1.03 # rm -R checkpassword-0.90 # rm -R ucspi-tcp-0.88
# cd /usr/local/src # tar xzvf netqmail-1.05.tar.gz # cd netqmail-1.05 # ./collate.sh (netqmail のソース展開と付属パッチの適用) # cd .. # tar xzvf checkpassword-0.90.tar.gz # tar xzvf qmail-vida-0.53.tar.gz # tar xzvf ucspi-tcp-0.88.tar.gz次にqmail-vidaのMakefileを編集.
/usr/local/src/qmail-vida-0.53/Makefile 以下の赤字部分を書き換える.
QMAILSRC = ../netqmail-1.05/netqmail-1.05
.
.
patch-qmail:
here=`pwd` && cd ${QMAILSRC} && \
${PATCH} -p1 -F 3 < $${here}/patch/qmail.patch
# groupadd vida # useradd -g vida -d /var/qmail/ -s /bin/false qmailu # useradd -g vida -d /var/qmail/ -s /bin/false authdb # useradd -g vida -d /home/pop/ -s /bin/bash popuser pop は仮想メールボックスを使用するために必要です.
# cd /usr/local/src/qmail-vida-0.53 # make patch # cd /usr/local/src/netqmail-1.05/netqmail-1.05 # patch -p1 < ../../qmail-date-localtime.patch # patch -p1 < ../../qmail-smtpd-relay-reject # cd /usr/local/src/checkpassword-0.90 # patch -p1 < ../netqmail-1.05/other-patches/checkpassword-0.90.errno.patch # cd /usr/local/src/ucspi-tcp-0.88 # patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch # patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch # cd /usr/local/src/qmail-vida-0.53 # make copy4.コンパイルとインストール
# cd /usr/local/src/netqmail-1.05/netqmail-1.05 # make setup check # ./config-fast ← 初回設定のみ # cd /usr/local/src/checkpassword-0.90 POPおよびSMTP認証の平文パスワードを/etc/passwdと一緒にしたい場合は以下の設定をする. # cd ../checkpassword-0.90/ # vi conf-withpasswd 1行目の「0」を「1」に変更 # make setup check # cd /usr/local/src/qmail-vida-0.53/src/vida # make setup check # cd ../../ # make install-doc (ドキュメントのインストール)これらはqmailのサービスをストップしてからしてください.でないとmake時にエラーが出ます.
# cd /usr/local/src/ucspi-tcp-0.88 # make setup check
# cd /etc/service # vi tcp.pop3 :allow,ALLOWPLAIN="" cdbへ変換: # tcprules tcp.pop3.cdb tcp.pop3.tmp < tcp.pop3 # vi tcp.smtp 127.0.0.1:allow,RELAYCLIENT="",ALLOWPLAIN="" :allow,ALLOWPLAIN="" cdbへ変換: # tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtpこれで/etc/serviceにtcp.smtp.cdb,tcppop3.cdbが作成されました.
# Start smtpd
exec env - ALLOWPLAIN="0.0.0.0" DOMAINOWNER=""\
/usr/local/bin/tcpserver -vHR -x /etc/service/tcp.smtp.cdb 0 smtp \
/usr/local/bin/rblsmtpd -r relays.ordb.org -r sbl.spamhaus.org \
/var/qmail/bin/qmail-smtpup $HOST \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 4 &
# Start pop3d
exec env - ALLOWPLAIN="0.0.0.0" DOMAINOWNER=""\
/usr/local/bin/tcpserver -vHR -x /etc/service/tcp.pop3.cdb 0 110 \
/var/qmail/bin/qmail-popup $HOST \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir \
2>&1 | /var/qmail/bin/splogger popd 3 &
/var/qmail/bin/vida-pwdbinitメールパスワード用DBを作成(最初の1回だけでよい)
# su - user user$ /var/qmail/bin/vida-passwd ← パスワード作成 user$ /var/qmail/bin/vida-passwd -c ← パスワード変更 user$ /var/qmail/bin/vida-passwd -d ← 登録削除/var/qmail/authdb/pwdusers/passwdにパスワードが記録されます.
user$ su pop pop$ /var/qmail/bin/vida-passwd -a -u kai ← ユーザkaiのパスワード作成 pop$ /var/qmail/bin/vida-assign -a -u kai ← ユーザkaiのassign+qmail-newu pop$ /var/qmail/bin/vida-maildirmake kai Maildir ← /home/pop/kaiのディレクトリとMaildirの作成 pop$ /var/qmail/bin/vida-passwd -c -u kai ← パスワードの変更 pop$ /var/qmail/bin/vida-passwd -d -u kai ← ユーザの削除 pop$ /var/qmail/bin/vida-assign -d -u kai pop$ cd ~ pop$ rm -rf ./kai/var/qmail/authdb/pop/passwdにパスワードが記録されます.
Copyright 2002-2003 Kai All Rights Reserved & This site is Link Free
戻る