up

次へ

sendmail.mc SMART_HOST のみの 設定

今回は 振り返って 再度 SMART_HOST のみの 設定 のとき sendmail の 振 舞を 再度 確認しよう という 趣旨です。

現状の sendmail の 保存

現状の どうにかこうにか 動いている 条件を 保存しておきます。

smtp サーバーに 侵入

sendmail が 動いている smtp サーバーに 侵入します。

$ ssh -l aite 192.168.24.108
Password: 
Last login: ...
Linux 2.4.31-plamo (Plamo 4.0.2)...

Experience is the worst teacher.  It always gives the test first and
the instruction afterward.

$ su -
Password: 
# ls /usr/lib/setup/ | grep Plamo
Plamo-4.03
# cat /etc/passwd | grep aite
aite:x:???:???:,,,:/home/aite:/bin/bash     /* 操作可能 use ID group ID 略 */
# cat /etc/passwd | grep waidesu
waidesu:x:???:???::/home/waidesu:/bin/false /* 名前だけ use ID group ID 略 */

ここで ”aite”というのは smtp サーバー の 個猫 が 持っている ユーザー の 名前です。 ”waidesu”というのは smtp サーバー の 個猫 の メールアド レスに用いる ユーザーの 名前です。

IP Adr Fix 162.168.24.123 は 個猫 の 計算機の もので 個猫 が 端末として 使用している 計算機です。

IP Adr Fix 162.168.24.108 は smtp サーバー のもので そこに aite いう ユーザーを 個猫 は 動かす事が出来ます waidesu というのは 単に メールアドレス として使う 個猫 の 名前です 実態は なーんも 無い 実態は ”aite”というもので 操作をする。

sendmail 関連の 保存に 取り掛かりましょう。

現状の どうにかこうにか 動作している sendmail 関連の ファイルを退避さ せておきます。

/sendmail-8.14.1/devtools/Site/site.config.m4

最初は site.config.m4 の ファイルです。 以下の 場所に site.config.m4 というものが 有ります

# cd /usr/local/src/004_sendmail/sendmail-8.14.1/devtools/Site/
# ls -l | sed 1d
-rw-r--r--    1 1037     root          806 Feb 19  2002 README
-rw-r--r--    1 root     root         3909 Jan 25 21:14 site.config.m4
-rw-r--r--    1 1037     root         3699 Jan 12  2003 site.config.m4.sample

cyrus-sasl を 組み込む 条件の site.config.m4 を 無効に します。 ”m4” の 後に 何か 付加する事で そのファイルを 無効化します。

# mv site.config.m4 site.config.m4_with_cyrus-SASL

/sendmail-8.14.1/cf/cf/sendmail.mc

次は sendmail.mc を 保存しておきます

# cd ../../cf/cf
# pwd
/usr/local/src/004_sendmail/sendmail-8.14.1/cf/cf
# cp sendmail.mc 0020_sendmail.mc_cyrus-SASL_OK_biglobe
# mv 0020_sendmail.mc_cyrus-SASL_OK_biglobe w_mc_backup/

適当な ディレクトリに 移動 させておきます。

ファイルの退避は 完了しました。さて新しく sendmail を 作成しなおしま す。

新しく sendmail.cf を 作成しなおす

展開された最上部の ディレクトリに 移動して 新しく sendmail を 作成し なおす事にします。

sh Build -c

さて ”sh Build -c ”と ”sh Build install”を 行います。

# cd ../../
# pwd
/usr/local/src/004_sendmail/sendmail-8.14.1
# ls -l | grep obj.Linux.2.4.31-plamo.i686/
drwxr-xr-x   14 root     root         4096 Jan 25 21:20 obj.Linux.2.4.31-plamo.i686/
# sh Build -c 2>&1 | tee log-build-top
# grep Error log-build-top  
# sh Build install 2>&1 | tee log_build-install-top
# grep Error log_build-install-top

でどのように なったか 確認をしておきます。

なんでも良いのですが 今回は /mqueue はどう? と言うのを 利用して 如何 に Compiled の 状態が なっているか ということで確認します。

# /usr/sbin/sendmail -d0.1 -bp
Version 8.14.1
 Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SCANF USERDB XDEBUG
Warning: Option: AuthMechanisms requires SASL support (-DSASL)

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = nl
  (canonical domain name) $j = nl.bcnet.ne.jp
         (subdomain name) $m = bcnet.ne.jp
              (node name) $k = nl
========================================================

/var/spool/mqueue is empty
                Total requests: 0

参考に SASL を 組み込んだ確認を したものを再掲しておくと

参考 SASL を 組み込んだ確認

なんでも良いのですが 今回は /mqueue はどう? と言うのを 利用して 如何 に Compiled の 状態が なっているか ということで確認します。

# /usr/sbin/sendmail -d0.1 -bp
Version 8.14.1
 Compiled with: DNSMAP LOG MATCHGECOS MILTER MIME7TO8 MIME8TO7
                NAMED_BIND NETINET NETUNIX NEWDB PIPELINING SASLv2 SCANF USERDB
                XDEBUG

============ SYSTEM IDENTITY (after readcf) ============
      (short domain name) $w = nl
  (canonical domain name) $j = nl.bcnet.ne.jp
         (subdomain name) $m = bcnet.ne.jp
              (node name) $k = nl
========================================================

/var/spool/mqueue is empty
                Total requests: 0

SASLv2 が 表示されているので 組み 込まれているのが わかります。

という ことでした。”obj.Linux...”が 新しく作成されています。

# ls -l | grep obj.Linux.2.4.31-plamo.i686/
drwxr-xr-x   14 root     root         4096 Jan 28 11:29 obj.Linux.2.4.31-plamo.i686/

ほたら sendmail.cf つまり sendmail.mc の 作成に 進みます。長くなるが 一気に処理しましょう。

sendmail.mc

cf/cf ディレクトリに 移動して

# cd cf/cf
# pwd
/usr/local/src/004_sendmail/sendmail-8.14.1/cf/cf

sendmail.mc を 作成します

# cp sendmail.mc bk_sendmail.mc_with_cyrus 
# diff -s sendmail.mc bk_sendmail.mc_with_cyrus 
31a32,34
> define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
> TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
> FEATURE(`authinfo', `hash -o /etc/mail/authinfo')

cyrus-sasl 関係を削除しただけですので まあ 簡単に 処理しました。 全体 を 表示すると。

# sed -e '/^#/d' sendmail.mc | uniq
divert(-1)

divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
FEATURE(relay_hosts_only)dnl
FEATURE(`no_default_msa')dnl
FEATURE(`access_db',`hash -o -T<TMPF> /etc/mail/access')dnl 
FEATURE(`use_cw_file',`/etc/mail/local-host-names')dnl
define(`confPRIVACY_FLAGS',`goaway')dnl
define(`SMART_HOST',`esmtp:[987.954.302.997]')dnl
MAILER(local)dnl
MAILER(smtp)dnl

ということです。

Build sendmail.cf

残りの sh Build sendmail.cf と sh Build install-cf を 行います

# sh Build sendmail.cf
Using M4=/usr/bin/m4
rm -f sendmail.cf
/usr/bin/m4 ../m4/cf.m4 sendmail.mc > sendmail.cf || ( rm -f sendmail.cf && exit 1 )
echo "### sendmail.mc ###" >>sendmail.cf
sed -e 's/^/# /' sendmail.mc >>sendmail.cf
chmod 444 sendmail.cf
# sh Build install-cf
Using M4=/usr/bin/m4
../../devtools/bin/install.sh -c -o root -g bin -m 0444 sendmail.cf /etc/mail/sendmail.cf
../../devtools/bin/install.sh -c -o root -g bin -m 0444 submit.cf /etc/mail/submit.cf

一連の作業は終わりました。

/etc/mail/authinfo

”/etc/mail/authinfo”と ”/etc/mail/authinfo.db”に 関しては 読み込 む対象出ないのでそのままに しておけば 良い と考えていましたが、 念のため 別の ディレクトリに 移動させて置きます。

# cd /etc/mail
# pwd
/etc/mail
# mv authinfo* w_cf_bkup/

sendmail の 再起動

新しい sendmail.cf にて 起動させます/

# cd /var/log
# ls -l maillog 
-rw-r-----    1 root     root            0 Jan 28 12:17 maillog
# ps ax | grep sendmail | grep -v grep
  291 ?   S  0:00 sendmail: accepting connections           
  294 ?   S  0:00 sendmail: Queue runner@00:15:00 for /var/spool/clientmqueue
# kill -HUP 291
# cat maillog 
Jan 28 12:18:19 nl mta-daemon[291]: restarting /usr/sbin/sendmail due to signal
Jan 28 12:18:19 nl mta-daemon[4885]: starting daemon (8.14.1): SMTP+queueing@00:15:00

送信試験をしてゆきます。

にゃんたろう 拝!

2008年 1月28日 (月) 21:11:56 JST


次へ

up

Copyright © 2004.-2008. nyantarou All Rights Reserved.