Kozupon.com    
 
 fatal: unknown service: smtp/tcp


現象:

メールログに以下のようなワーニングが出てPostfixが起動しない。

Jul 24 18:04:43 gw4 postfix/pickup[6566]: 267F28B4E8: uid=0 from=<root>
Jul 24 18:04:43 gw4 postfix/cleanup[6571]: 267F28B4E8: message-id=<20060724090443.267F28B4E8@gw4.xxxxxxxxxxxxx.co.jp>
Jul 24 18:04:43 gw4 postfix/qmgr[6567]: 267F28B4E8: from=<root@gw4.xxxxxxxxxxxxx.co.jp>, size=329, nrcpt=1 (queue active)
Jul 24 18:04:43 gw4 postfix/smtp[6573]: fatal: unknown service: smtp/tcp
Jul 24 18:04:44 gw4 postfix/qmgr[6567]: warning: premature end-of-input on private/smtp socket while reading input attribute name
Jul 24 18:04:44 gw4 postfix/qmgr[6567]: warning: private/smtp socket: malformed response
Jul 24 18:04:44 gw4 postfix/qmgr[6567]: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description
Jul 24 18:04:44 gw4 postfix/master[6565]: warning: process /usr/lib/postfix/smtp pid 6573 exit status 1
Jul 24 18:04:44 gw4 postfix/master[6565]: warning: /usr/lib/postfix/smtp: bad command startup --throttling


1.エラーの原因

この中で "fatal: unknown service: smtp/tcp" が意味するのは?
Postfix /etc/postfix/master.cf ファイルが Postfix SMTP クライアントが chroot 環境内で動くことを表している。しかし、このモードでの操作に必要なファイルが /var/spool/postfix 以下にインストールされていない。chroot 操作はシステムへの侵入者に対する重要な壁を作る。最近は、セキュリティを考えてchroot内(砂場)で動くサービスが多くなってきた。


2.対策

2つの対策がある。
1) chrootを使用禁止にする
/etc/postfix/master.cf で chroot を使用できなくする(そして終わったら postfix reload を送ります)。
2) chrootで動かすようにする
chroot 操作に必要なファイルをインストールする。方法は配布ソースコードの examples/chroot-setup ディレクトリ内にある。

今回は、1)の方法で対策した。
以下のように、master.cfファイルのsmtpセクションのchrootを n にすればよい。修正後、postfixをreloadする。

# vi /etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp    inet     n     -    n    -    -     smtpd
#submission inet n - - - - smtpd
# -o smtpd_etrn_restrictions=reject
#628 inet n - - - - qmqpd
pickup   fifo     n     -    -    60    1    pickup
cleanup  unix    n     -    -    -     0    cleanup
qmgr    fifo     n     -    -   300    1    qmgr
#qmgr fifo n - - 300 1 oqmgr
rewrite   unix    -     -    -    -     -    trivial-rewrite
bounce   unix    -     -    -    -     0    bounce
defer    unix    -     -    -    -     0    bounce
trace    unix    -     -    -    -     0    bounce
verify    unix    -     -    -    -     1    verify
flush    unix    n     -    -   1000    0    flush
proxymap unix    -     -    n    -     -    proxymap
smtp    unix    -     -    n    -     -    smtp
relay unix - - - - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq   unix    n     -    -    -     -    showq
error    unix    -     -    -    -     -    error
local    unix    -     n    n    -     -    local
virtual   unix    -     n    n    -     -    virtual
lmtp    unix    -     -    n    -     -    lmtp
anvil    unix    -     -    n    -     1    anvil

以上


 
 
 



Copyright 2005 Kozupon.com.