今回は 振り返って 再度 SMART_HOST のみの 設定 のとき sendmail の 振 舞を 再度 確認しよう という 趣旨です。
現状の どうにかこうにか 動いている 条件を 保存しておきます。
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 関連の ファイルを退避さ せておきます。
最初は 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.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 を 作成し なおす事にします。
さて ”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 を 組み込んだ確認を したものを再掲しておくと
なんでも良いのですが 今回は /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 の 作成に 進みます。長くなるが 一気に処理しましょう。
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
ということです。
残りの 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.db”に 関しては 読み込 む対象出ないのでそのままに しておけば 良い と考えていましたが、 念のため 別の ディレクトリに 移動させて置きます。
# cd /etc/mail # pwd /etc/mail # mv authinfo* w_cf_bkup/
新しい 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