mieki256's diary



2005/08/17(水) [n年前の日記]

#6 [vine][linux] Postfix と POP before SMTP を使えるように

_Vine 3.1 - Postfix の設定
_Vine3.0でPOP Before SMTP
_PostfixとAPOP,POP before SMTP
_POP before SMTP の設定(Googleキャッシュ)

参考にしつつ自分も設定。

パッケージ取得。
# apt-get update
# apt-get install postfix dracd db4 db4-devel db4-utils pam-devel gdbm-devel

portmap を有効に。
# /etc/init.d/portmap start
# chkconfig portmap on

drac を設定。
# cat /etc/mail/dracd.allow
「255.255.255.255 127.0.0.1」の1行だけ記述があるか確認。件の記述で drac の利用はlocalhostのみ許される、らしい。

drac のデータベースを消去する期間を設定。
# vi /usr/sbin/rc.dracd
以下に修正。
/usr/sbin/rpc.dracd -e 3 &
ウルトラマンのカラータイマーに習う。<3分間のみ有効に。

drac を有効に。
# /etc/init.d/dracd start
# chkconfig dracd on

で。ここから先が、ちょっとよくわからなかったり。

qpopperの再構築が必要らしいのだが :

Vine の FTPサイトから SRPM を取得して再構築する方向で作業。 _「8.4. ソースパッケージからバイナリパッケージを再構築(rebuild)する。」 を参考に。下準備として、root で build-essential をインストール。
# apt-get install build-essential
…既に最新版が入ってた。後は一般ユーザになって作業。

なのだけど。「一般ユーザのホームディレクトリにある ~/rpm/ を使え」とマニュアルには書いてあるものの。どこに *.src.rpm を入れたらいいのかわからん…。

_Vine Linux 3.1で電源が切れない場合の対処 というページに情報があった。~/rpm/SRPMS/ に保存するらしい。
$ cd ~/rpm/SRPMS/
$ apt-get source qpopper

qpopperのSRPMをインストール。
$ su
# rpm -ivh qpopper-x.x.x-0vlx.src.rpm

SPECファイルを修正する。…これは一般ユーザで作業しちゃっていいのだろうか。ちと怪しいけど。
$ cd ~/rpm/SPECS/
$ vi qpopper.spec

で、肝心の、qpopper.spec の修正箇所は…なんだか色々なパターンがあるらしく。
(%buildセクションに追加)
--prefix=/usr \
--enable-bulletins=/var/spool/mail/bulletins \
--enable-specialauth \
--with-pam=qpopper \
--with-popuid=pop \
--enable-apop=/etc/pop.auth \
--enable-drac

(%preセクションのuseraddにオプションを追加)
/usr/sbin/useradd -M -g pop pop -c "Pop Account" -d /dev/null -s /dev/false
 (%buildセクションに追加)
--prefix=/usr \
--enable-bulletins=/var/spool/mail/bulletins \
--enable-specialauth \
--with-pam=qpopper \
--with-popuid=pop \
--enable-apop=/etc/pop.auth \
--enable-drac    (←これ)

(%preセクションのuseraddにオプションを追加)
/usr/sbin/useradd -M -g pop pop -c "Pop Account" -d /dev/null -s /dev/null
$ ./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--enable-bulletins=/var/spool/mail/bulletins \
--with-popuid=pop \
--enable-drac
$ make

$ su
# /usr/sbin/groupadd -g 110 pop
# /usr/sbin/useradd -c "Pop Account" -u 110 -g 110 -s /bin/false -r -d /var/spool/mail pop
$ ./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--enable-bulletins=/var/spool/mail/bulletins \
--enable-specialauth \
--with-pam=qpopper \
--with-popuid=pop \
--enable-apop=/etc/pop.auth \
--enable-drac
$ make

$ su
# /usr/sbin/groupadd -g 110 pop
# /usr/sbin/useradd -c "Pop Account" -u 110 -g 110 -s /bin/false -r -d /var/spool/mail pop

要するに…
%buildセクションに
--enable-drac
を追加。(前の行の最後に \ をつけること)
…して。
-c "Pop Account"
ユーザコメントを、"Pop Account" に。
-u 110
user ID を 110 に。
-g 110
group ID を 110 に。
-s /bin/false
shell を /bin/false に。
-r
システムアカウントで。
-d /var/spool/mail
ホームディレクトリを /var/spool/mail に。
pop
pop という名前のユーザを。
作成する、という感じなのかしら。ただ、-M オプションがわからんけど。

とりあえず、あらかじめ group を作成してみたり。
# /usr/sbin/groupadd -g 110 pop
で、SPECファイルの %pre セクションは下のような感じに。
%pre
# Add the "pop" user
/usr/sbin/useradd -c "Pop Account" -u 110 -g 110 \
    -s /bin/false -r -d /var/spool/mail pop 2> /dev/null || :
exit 0
こんな感じでどうだらう。

RPM作成。
$ rpm -ba qpopper.spec
$ cd ~/rpm/RPMS/i386/

qpopperをupdate。
# su
# rpm -Uvh qpopper-x.x.x-0vlxdrac.i386.rpm 
で、いいのかしら?

inetd設定とpam設定 :

pam設定ってのがよくわからないけど。

inetd設定。以下のファイルに以下を追加、というかコメントアウトを外す。
# vi /etc/inetd.conf

pop-3   stream  tcp     nowait  root    /usr/sbin/tcpd  in.qpopper

以下のファイルに以下を追加。
# vi /etc/hosts.allow

in.qpopper: all

inetデーモン再起動。
# /etc/init.d/inet restart

pamの設定。
# vi /etc/pam.d/qpopper

#%PAM-1.0
auth       required     /lib/security/pam_pwdb.so shadow
account    required     /lib/security/pam_pwdb.so
既に書いてあった。

/etc/postfix/main.cf を修正 :

ちょっとよくわからないのが、
mydestination = $myhostname, localhost.$mydomain $mydomain
という記述。「,」は要らんのだろうか。それと、
mynetworks = 192.168.1.0/24, 127.0.0.0/8 check_client_access btree:/etc/mail/dracd
という記述はOKなのだろうか。 _Postfix on TurboLinux 8 - Planet Works というページに似たような記述があったから大丈夫かしら。

動作確認 :

Win上からサーバへPOP認証後、サーバ側で次のように打って確認。
# db_dump -p /etc/mail/dracd.db
下のような表示になればOK。
VERSION=3
format=print
type=btree
HEADER=END
192.168.1.26 ← クライアントのIP
1097475530 ← 色々変わる
DATA=END

5分後、再度確認。
# db_dump -p /etc/mail/dracd.db
IPが消えてればOK。

IPが消えてる状態でいきなりメール送信しようとしても拒否される、はず。

って、送ることができてしまった。ダメじゃん。どうやら、
mynetworks = 192.168.1.0/24, 127.0.0.0/8 check_client_access btree:/etc/mail/dracd
がマズイらしい。
mynetworks = 127.0.0.0/8 check_client_access btree:/etc/mail/dracd
なら、なんとか。つまり前者は 192.168.1.x から送られると問答無用で送れてしまうということかしら。

_Postfix エラー発生時の確認方法 :

# postfix check
で、設定ミスが判るらしい。

_本稼動しだしたら必ず設定を 550 に変更 :

/etc/postfix/main.cf の
unknown_local_recipient_reject_code = 450
を 550 にしておく、らしい。

以上です。

過去ログ表示

Prev - 2005/08 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project