Fedra2Mail
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
* winmail.dat 対策 [#ba1207cd]
//** http://www.saga-ed.jp/workshop/edq01449/winmail.htm ...
*** Winmail Opener [#kb783729]
- http://www.eolsoft.com/freeware/winmail_opener/
- &ref(winmail_opener.exe);
*** TNEF [#o2f7d39b]
- &ref(fentun.exe,center, Fentun プログラム);
- http://www.fentun.com/
- http://zfacts.com/p/64.html
*** WM Decorde [#z7e7fb4d]
- &ref(WMDecode.exe,center, WM Decordeプログラム);
- http://www.biblet.freeserve.co.uk/
* MTA(SMTP)の導入 [#lde14ee8]
** postfix の導入1(FC2 のdefault環境) [#o4e16b35]
*** インストール済パッケージの確認 [#oc8ef3c3]
[root@power root]# rpm -q cyrus-sasl
cyrus-sasl-2.1.18-2.2
[root@power root]# rpm -q postfix
postfix-2.0.18-4
*** FC2 の初期状態では sendmail が有効になっているので、...
- sendmail の停止
[root@power root]# /etc/init.d/sendmail status
sendmail (pid 2209 2200) を実行中...
[root@power root]# /etc/init.d/sendmail stop
sendmail を停止中: ...
sm-clientを停止中: ...
- MTA を postfix に切替える
[root@power root]# /usr/sbin/alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selectio...
*** /etc/postfix/main.cf の設定 (必要な箇所だけ変更) [#...
- myhostname などの設定
60 # INTERNET HOST AND DOMAIN NAMES
61 #
62 # The myhostname parameter specifies the internet hos...
63 # mail system. The default is to use the fully-qualif...
64 # from gethostname(). $myhostname is used as a defaul...
65 # other configuration parameters.
66 #
67 #myhostname = host.domain.tld
68 #myhostname = virtual.domain.tld
69 myhostname = webmail.hmuna.com
-- hmuna.com ドメイン内に メール転送エンジン(MTA) が複数...
-- MTA の名前を区別するために webmail.hmuna.com という ho...
-- リレーの設定をしていないので、外部に直接メールを送れる...
- mynetworks の設定
# Alternatively, you can specify the mynetworks list by ...
# which case Postfix ignores the mynetworks_style setting.
#
# Specify an explicit list of network/netmask patterns, ...
# mask specifies the number of bits in the network part ...
# address.
#
# You can also specify the absolute pathname of a patter...
# of listing the patterns here. Specify type:table for t...
# (the value on the table right-hand side is not used).
#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
# muna only defines mynetworks including office mail sys...
mynetworks = 202.221.8.114/32, 192.168.1.0/24, 127.0.0.0/8
- MailDir 方式の設定
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional path...
# mailbox file relative to a user's home directory. The ...
# mailbox file is /var/spool/mail/user or /var/mail/user...
# "Maildir/" for qmail-style delivery (the / is required).
#
# muna adopt Maildir style expecting Courier-IMAP
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
*** 各ユーザーの MailDir の作成 [#ic786a82]
- MailDirMake を使って各ユーザーのホームディレクトリに Ma...
- 別の web http://poinca.ikezoe.net/info/postfix_install....
*** postfix だけを利用したメール転送の実験 [#t97eb2d0]
- コマンドラインから sendmail (=postfix の互換コマンド...
sendmail -s "mail titile" munakata (return)
Mail message
( ctrl+d )
cc: ( return )
- 実際に root から munakata にメールを転送してみる
[root@power root]# mail -s "postfix local mail test" mun...
This is inside server mail trans test
Cc:
[root@power root]#
- /var/log/maillog を確認する ---- メールが正常に送られ...
Jan 1 09:30:59 power postfix/pickup[6155]: 71C8A894069:...
Jan 1 09:30:59 power postfix/cleanup[6221]: 71C8A894069:
message-id=<20050101003059.71C8A894069@webmail.hmuna.com>
Jan 1 09:30:59 power postfix/nqmgr[3304]: 71C8A894069:
from=<root@webmail.hmuna.com>, size=362, nrcpt=1 (queue...
Jan 1 09:30:59 power postfix/local[6223]: 71C8A894069:
to=<munakata@webmail.hmuna.com>, orig_to=<munakata>, re...
- /home/munakata の下には Maildir が自動的に作られた
*** 課題1:/var/spool/postfix のパーミションの修正を行っ...
- root → to:munakata cc:admin のメールを送ったところ admi...
Jan 1 01:02:16 power postfix/pickup[3303]: 7634389405E:...
Jan 1 01:02:16 power postfix/cleanup[3688]:
7634389405E:messageid=<20041231160216.7634389405E@webma...
Jan 1 01:02:16 power postfix/nqmgr[3304]:7634389405E:fr...
<root@webmail.hmuna.com>, size=335, nrcpt=1 (queue active)
Jan 1 01:02:16 power postfix/local3690]:7634389405E:
to=<postfix@webmail.hmuna.com>, orig_to=<admin>, relay=...
status=bounced (maildir delivery failed:create/var/spoo...
tmp/1104508936.P3690.power.hmuna.com: Permission denied)
Jan 1 01:02:16 power postfix/cleanup[3688]: 7AF8E89405F:
messageid=<20041231160216.7AF8E89405F@webmail.hmuna.com>
Jan 1 01:02:16 power postfix/nqmgr[3304]: 7AF8E89405F: ...
size=2123,nrcpt=1 (queue active)
Jan 1 01:02:16 power postfix/local[3690]: 7AF8E89405F:
to=<postfix@webmail.hmuna.com>, orig_to=<root@webmail.h...
relay=local, delay=0, status=bounced (maildir delivery...
/var/spool/postfix/Maildir/tmp/1104508936.P3690.power.h...
-- root → admin あてのメールが届かない理由があるようだ (...
-- 不達の連絡を root に返そうとしたところ、root 用の Mail...
-- 何故か root の Maildir は /root の下ではなく、/var/spo...
-- /var/spool のディレクトリを見ると、postfix ディレクト...
-- %%''COLOR(RED){/var/spool/postfix ディレクトイリのオー...
[root@power root]# chown postfix.postfix /var/spool/post...
[root@power root]# ls -l /var/spool/
合計 64
drwxr-xr-x 2 root root 4096 12月 24 20:30 anacron
drwx------ 3 daemon daemon 4096 12月 24 16:55 at
drwxrwx--- 2 smmsp smmsp 4096 12月 31 04:03 client...
drwx------ 2 root root 4096 12月 24 21:15 cron
drwx--x--- 3 root sys 4096 12月 22 23:01 cups
drwxr-xr-x 2 root root 4096 3月 12 2004 lpd
drwxrwxr-x 2 root mail 4096 1月 1 00:40 mail
drwxr-xr-x 3 root root 4096 12月 24 17:04 mailman
drwx------ 2 root mail 4096 12月 31 04:03 mqueue
drwxr-xr-x 15 postfix postfix 4096 1月 1 02:18 postfix
drwxr-xr-x 2 rpm rpm 4096 12月 29 05:17 repack...
drwxrwxrwt 2 root root 4096 12月 18 12:42 samba
drwxr-x--- 2 squid squid 4096 10月 13 02:42 squid
drwxr-xr-x 3 root root 4096 11月 21 18:26 squirr...
drwxr-xr-x 2 root root 4096 5月 12 2004 up2date
drwxrwxrwt 2 root root 4096 3月 3 2004 vbox
-- postfix ディレクトリーのオーナーを変更したら正常にメー...
Jan 1 02:18:30 power postfix/pickup[3987]: D3C0E89405F:...
Jan 1 02:18:30 power postfix/cleanup[4019]: D3C0E89405F:
message-id=<20041231171830.D3C0E89405F@webmail.hmuna.com>
Jan 1 02:18:30 power postfix/nqmgr[3304]: D3C0E89405F:
from=<root@webmail.hmuna.com>, size=392, nrcpt=2 (queue...
Jan 1 02:18:30 power postfix/local[4021]: D3C0E89405F:
to=<postfix@webmail.hmuna.com>, orig_to=<admin>, relay=...
Jan 1 02:18:30 power postfix/local[4022]: D3C0E89405F:
to=<postfix@webmail.hmuna.com>, orig_to=<root>, relay=l...
-- ''COLOR(RED){上記の変更を行ってから /var/log/maillog ...
Jan 1 17:01:10 power postfix/postfix-script: warning: n...
-- /var/spool/postfix のオーナーを root に戻して、その配...
[root@power certs]# ls -l /var/spool/
合計 64
drwxr-xr-x 2 root root 4096 12月 24 20:30 anacron
drwx------ 3 daemon daemon 4096 12月 24 16:55 at
drwxrwx--- 2 smmsp smmsp 4096 12月 31 04:03 clientmq...
drwx------ 2 root root 4096 12月 24 21:15 cron
drwx--x--- 3 root sys 4096 12月 22 23:01 cups
drwxr-xr-x 2 root root 4096 3月 12 2004 lpd
drwxrwxr-x 2 root mail 4096 1月 1 10:36 mail
drwxr-xr-x 3 root root 4096 12月 24 17:04 mailman
drwx------ 2 root mail 4096 12月 31 04:03 mqueue
drwxr-xr-x 17 root root 4096 1月 2 02:09 postfix
drwxr-xr-x 2 rpm rpm 4096 12月 29 05:17 repackage
drwxrwxrwt 2 root root 4096 12月 18 12:42 samba
drwxr-x--- 2 squid squid 4096 10月 13 02:42 squid
drwxr-xr-x 3 root root 4096 11月 21 18:26 squirrel...
drwxr-xr-x 2 root root 4096 5月 12 2004 up2date
drwxrwxrwt 2 root root 4096 3月 3 2004 vbox
[root@power certs]# ls -l /var/spool/postfix/
合計 60
drwx------ 5 postfix root 4096 1月 1 02:18 Maildir
drwx------ 7 postfix root 4096 1月 2 04:02 active
drwx------ 3 postfix root 4096 1月 2 02:25 bounce
drwx------ 2 postfix root 4096 1月 1 22:44 corrupt
drwx------ 2 postfix root 4096 1月 1 22:44 defer
drwx------ 2 postfix root 4096 1月 1 22:44 deferred
drwx------ 2 postfix root 4096 1月 1 22:44 flush
drwx------ 2 postfix root 4096 1月 1 22:44 hold
drwx------ 7 postfix root 4096 1月 2 04:02 incoming
drwx-wx--- 2 postfix root 4096 1月 2 04:02 maildrop
drwxr-xr-x 2 postfix root 4096 1月 2 02:25 pid
drwx------ 2 postfix root 4096 1月 2 02:21 private
drwx--x--- 2 postfix root 4096 1月 2 02:21 public
drwx------ 2 postfix root 4096 1月 1 22:44 saved
drwx------ 2 postfix root 4096 1月 2 02:09 trace
*** 再考 : root あてのメールが受信できない問題 [#e6651f35]
- /var/log/maillog のエラーメッセージ
Nov 5 10:26:23 power postfix/local[3911]: 39B818940FA:
to=<root@hmuna.com>, relay=local, delay=0, status=bounced
(can't create user output file. Command output: procmail...
- 結論として procmail を利用したメールリレーを行っている...
Root's mail is delivered to nobody
If you use procmail (or some other command) for local ma...
Postfix will not deliver mail as root. Instead, Postfix...
(or whatever) as nobody. Perhaps some day Wietse will tr...
enough to run external commands as root.
Solution: just like you're not supposed to log in as root
(except for unusual conditions), you're not supposed to ...
Create a mail alias for root that forwards mail to a rea...
/etc/aliases:
root: you
Execute the command newaliases whenever you change the a...
On some systems the alias database is not in /etc/aliase...
the location for your system, execute the command postco...
- これは procmail が root 権限で動作することの危険性に対...
- システムが発行する root あてのメールを別のアカウント (...
- alias の設定をしてもうまく root あてのメールが server_a...
[root@power etc]# postconf alias_maps
alias_maps = hash:/etc/postfix/aliases
- /etc/alias ではなく /etc/postfix/aliases に設定が必要で...
*** 課題1.5:パーミション関連 微調整 [#kec743ff]
- postfix バージョンアップ後の再起動でこんなエラーが出た...
Jan 2 14:37:15 power postfix/postfix-script: warning:
not owned by group postdrop: /var/spool/postfix/public
Jan 2 14:37:15 power postfix/postfix-script:
warning: not owned by group postdrop: /var/spool/postfi...
- こんな風にパーミションを変更した
[root@power root]# chown postfix.postdrop /var/spool/pos...
[root@power root]# chown postfix.postdrop /var/spool/pos...
[root@power root]# ls -l /var/spool/postfix/
合計 60
drwx------ 5 postfix root 4096 1月 1 02:18 Maildir
drwx------ 7 postfix root 4096 1月 2 04:02 active
drwx------ 3 postfix root 4096 1月 2 02:25 bounce
drwx------ 2 postfix root 4096 1月 1 22:44 corrupt
drwx------ 2 postfix root 4096 1月 1 22:44 defer
drwx------ 2 postfix root 4096 1月 1 22:44 deferred
drwx------ 2 postfix root 4096 1月 1 22:44 flush
drwx------ 2 postfix root 4096 1月 1 22:44 hold
drwx------ 7 postfix root 4096 1月 2 04:02 incoming
drwx-wx--- 2 postfix postdrop 4096 1月 2 04:02 maildrop
drwxr-xr-x 2 postfix root 4096 1月 2 02:25 pid
drwx------ 2 postfix root 4096 1月 2 14:37 private
drwx--x--- 2 postfix postdrop 4096 1月 2 14:37 public
drwx------ 2 postfix root 4096 1月 1 22:44 saved
drwx------ 2 postfix root 4096 1月 2 02:09 trace
*** 課題2:何故 admin ユーザだけは /home/admin の下に Ma...
- 上記の問題を解決したところ、メール転送自体でのエラーは...
- root → admin と root → munakata のメール転送ログを比較...
-- root → admin の転送
Jan 1 10:11:52 power postfix/pickup[6155]: 53B00894069:...
Jan 1 10:11:52 power postfix/cleanup[6534]: 53B00894069:
messageid=<20050101011152.53B00894069@webmail.hmuna.com>
Jan 1 10:11:52 power postfix/nqmgr[3304]: 53B00894069:
from=<root@webmail.hmuna.com>,
size=373, nrcpt=1 (queue active)
Jan 1 10:11:52 power postfix/local[6536]: 53B00894069:
to=<postfix@webmail.hmuna.com>, orig_to=<admin>, relay=...
-- root → munakata の転送
Jan 1 10:14:17 power postfix/pickup[6155]: 54C3489406C:...
Jan 1 10:14:17 power postfix/cleanup[6542]: 54C3489406C:
messageid=<20050101011417.54C3489406C@webmail.hmuna.com>
Jan 1 10:14:17 power postfix/nqmgr[3304]: 54C3489406C:
from=<root@webmail.hmuna.com>, size=344, nrcpt=1 (queue...
Jan 1 10:14:17 power postfix/local[6543]: 54C3489406C:
to=<munakata@webmail.hmuna.com>, orig_to=<munakata>, re...
- 最後の to= の宛先が異なるだけで他は同じ、何故 admin あ...
- よく分からないが、postfix のプリセットユーザーで admin ...
- ''COLOR(RED){結論として、admin というユーザ名は混乱の元...
** postfix の導入2 (2.1.4-5 に更新) [#c9dd8d07]
- SMTP 認証(SMTP Auth+TLS)をサポートするために postfix ...
- SMTP 経由でのメール送信がエラーになったいたために、以前...
- FC2 default の postfix でもできたのかもしれない(きっと...
-- 今回とった方法はログイン時から TLS 化し、その後、SMTP ...
-- PLAIN 認証しか対応できない Outlook Express でもセキュ...
-- 当初、ソースからパッチを当ててコンパイルしてみたのです...
-- いろいろ調べたところ Postfix のホームページからのリン...
*** RPM を作成してインストール [#a900a374]
- まずは、[[こちら:http://www.sahughes.jp/]] のサービスの...
- ダウンロードしたのは、postfix-2.1.4-5.src.rpm
- パッケージを展開する。このとき、user と group が違うと...
[root@power root]# cd /usr/src/redhat/SOURCES/
[root@power SOURCES]# wget ftp://ftp.sanguine.net/pub/p...
--12:27:06-- ftp://ftp.sanguine.net/pub/postfix/officia...
=> `postfix-2.1.4-5.src.rpm.1'
ftp.sanguine.net をDNSに問いあわせています... 61.115.7.227
ftp.sanguine.net[61.115.7.227]:21 に接続しています... 接...
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。 ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。 ==> CWD /pub/postfix/offi...
==> PASV ... 完了しました。 ==> RETR postfix-2.1.4-5....
長さ: 2,564,530 (確証はありません)
100%[===================================================...
12:27:55 (55.17 KB/s) - `postfix-2.1.4-5.src.rpm.1' save...
[root@power SOURCES]# rpm -Uvh postfix-2.1.4-5.src.rpm
- ビルドのオプションとしてSASL(今回はSASL2とした。)と TLS...
- デフォルトで LDAP オプションが有効になっているのでオフ...
[root@power SOURCES]# export POSTFIX_SASL=2
[root@power SOURCES]# export POSTFIX_TLS=1
[root@power SOURCES]# export POSTFIX_LDAP=0
[root@power SOURCES]# sh make-postfix.spec
- バイナリ RPM を作成する。下記操作で、/usr/src/redhat/RP...
# cd /usr/src/redhat/SPECS
# rpmbuild -ba postfix.spec
- 上記で作成されたバイナリRPM(postfix-2.1.4-5.sasl2.tls.r...
- 新しい cf を作成するため、main.cf、master.cf を事前にリ...
[root@power SPCES]# mv /etc/postfix/main.cf /etc/postfix...
[root@power SPCES]# mv /etc/postfix/master.cf /etc/postf...
[root@power SPCES]# rpm -Uvh /usr/src/redhat/RPMS/i386/p...
-- バックアップされた main.cf → &ref(main.cf_2.0.18_muna_...
-- バックアップされた master.cf → &ref(master.cf_2.0.18_m...
- ''COLOR(RED){問題発生1}'' : RPM のインストールがエラ...
-- 最初から導入されていた cyrus-sasl-2.1.18-2.2 と競合す...
[root@power root]# rpm -Uhv/usr/src/redhat/RPMS/i386/pos...
Preparing... ############################...
file /etc/sysconfig/saslauthd from install of po...
conflicts with file from package cyrus-sasl-2.1.18-2.2
-- --force を付けて強引にインストールしたら、何かワーニン...
[root@power root]# rpm -Uhv --force /usr/src/redhat/RPMS...
Preparing... ############################...
1:postfix ############################...
link /usr/share/man/man8/sendmail.8.gz incorrect for sla...
(/usr/share/man/man1/sendmail.1.gz mta-sendmailman)
-- 上記の影響かどうか不明(途中で色々やったので)だが、FC ...
-- 実際には切替える必要は無いので、このエラーは無視して先...
[root@power root]# alternatives --config mta
There are 1 programs which provide 'mta'.
Selection Command
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
Enter to keep the current selection[+], or type selectio...
*** /etc/postfix/main.cf の編集 (一般的な設定) [#o7ab7982]
- %%2005-1-1 時点での 一般的な設定だけを行った main.cf%%
- この設定を行っただけで、SMTP 送信エラーの問題は解決した...
- 2005-1-13 端山氏の指導で設定を見直した → &ref(main.cf);...
-- myhostname = power.hmuna.com ← マシンの名前を指定する
-- mydomain = hmuna.com ← ドメイン名を指定する
-- myorigin = $myhostname ← myhostname を指定する
-- mydestination = $myhostname, localhost.$mydomain, $myd...
-- mynetworks = 202.221.8.114/32, 192.168.1.0/24, 127.0.0...
*** aliases の修正 [#jc7b3a8a]
- RPM からインストールすると root 宛てのメッセージが post...
- postfix ユーザを追加するか、メールを受け取れる実在する...
- 今回 munakata あてにサーバー管理関係のメールが来ると煩...
- /etc/aliases 編集後は newaliases コマンドを実行してデー...
# muna add postfix entry
postfix: server_admin
*** /etc/postfix/main.cf の編集 (認証関係の設定) [#o7ab79...
- ''COLOR(RED){問題発生2}'' :パソコンおやじ が引用して...
-- おやじ さんの参照している (その他のサイトでも引用して...
-- 昔使っていた ( postfix をソースから導入した ) FC1 の...
-- 仕方ないので 直接カット&コピーで main.cf に SASL 関連...
- SASL 関係は実際にはいくらも設定がない、問題になりそうな...
# ------------------------------------------------------...
## muna add SASL setting refered from パソコンおやじ
# ------------------------------------------------------...
# SMTP サーバ制御の設定
# SASLによるSMTP認証を使用
smtpd_sasl_auth_enable = yes
# 使用可能な認証メカニズムの設定(そのまま)
smtpd_sasl_security_options = noanonymous
# ローカル認証 realm の名前を設定
# Postfixのデフォルトはmyhostnameである。
# 実はここで大嵌りで、PAM 認証の場合はここは設定なしのま...
# 但し、これはsaslauthdによるPAM 認証の場合で、sasl パス...
# ドメイン(ホスト)名と同一の値を設定しないと、認証に失敗...
#
# muna : 当面は PAM 認証を利用するので、上記に従い ”設...
#
#smtpd_sasl_local_domain = $mydomain
#smtpd_sasl_local_domain = $myhostname
# リレーを許可するものを設定(sample-smtpd.cf)
# ・permit_mynetworks : mynetworksで指定されたネットワー...
# ・permit_sasl_authenticated : SMTP認証を通過したものは...
# ・reject_unauth_destination : 目的地が $inet_interface...
# または $virtual_mailbox_domains にマッチするアドレス...
# 目的地へのメール以外を拒否。
# (本設定で不正な外部からのメールをrejectする。check_r...
# されなくなった。)
smtpd_recipient_restrictions = permit_mynetworks,permit_...
# AUTHコマンドのサポートを認識できないクライアントへの対...
# Outlook Express 4 および Exchange 5等はAUTH コマンドを...
# 使用時は下記のような設定を追加する。おやじはOE 6.0なの...
broken_sasl_auth_clients=yes
- TLS 関係で引用するサーバー証明書の関係のファイル名、ロ...
# ------------------------------------------------------...
## muna add TLS setting refered from パソコンおやじ
# ------------------------------------------------------...
# サーバ証明書/鍵関係の設定を変更(RSAのみ対応)
smtpd_tls_cert_file = /usr/local/certs/webmail_server.crt
smtpd_tls_key_file = /usr/local/certs/server.key
# CA関係の設定を変更
smtpd_tls_CAfile = /usr/local/certs/demoCA/cacert.pem
smtpd_tls_CApath = /usr/local/certs/demoCA
# ログレベルの変更(最低レベル)
# smtpd_tls_loglevel = 0
smtpd_tls_loglevel = 1
# TLS使用(そのまま)
smtpd_use_tls = yes
# 認証はTLS使用のみ(TLSのみの場合はコメントアウトを外し...
# smtpd_tls_auth_only = no
# セッションキャッシュの設定(そのまま)
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smt...
# 証明書は前述の方法で作成
#smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
#smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
# TLS用乱数デバイスの指定
tls_random_source = dev:/dev/urandom
# tls_random_source = egd:/var/run/egd-pool
# tls_random_bytes = 32
# tls_random_reseed_period = 3600s
- SASL / TLS 関係の設定を書き加えた main.cf → &ref(main...
- SASL / TLS 関係の設定を書き加えた master.cf → &ref(mast...
*** saslauthd 関係の設定 [#n9b59bd5]
- SMTP AUTHで使用する saslauthd 関係の設定をします。
-- 具体的には、saslauthd を起動し PAM による認証(UNIX パ...
-- sasl パスワードで認証する場合は、ここの項目は設定しな...
--- /usr/lib/sasl2/smtpd.conf に以下の設定がされているか...
--- これにより、saslauthd によりPLAIN 認証と LOGIN 認証が...
pwcheck_method: saslauthd
mech_list: plain login
--- /etc/sysconfig/saslauthdに下記のように設定する。(もと...
--- これにより、 saslauthd 起動スクリプトは pam による認...
MECH=pam
--- saslauthd の起動スクリプトを有効にし起動する
# chkconfig --level 345 saslauthd on
# service saslauthd start
*** sendmail互換プログラムの修正 [#t1b87517]
- messages に sendmail の path がおかしいと出ていたので調...
- CGI を直すのが面倒なので、下記で修正しました。
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# ln -s /usr/sbin/sendmail.postfix /usr/sbin/sendmail
*** postfix w/SASL, TLS の起動 [#d4b18529]
# chmod 755 /etc/rc.d/init.d/postfix
# chkconfig --add postfix
# chkconfig --list postfix
postfix 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ
# service postfix start
- 起動後に、netstat -ln (netstat -an --tcp) で25番と465番...
[root@power postfix]# netstat -an --tcp | grep -e 25 -e ...
tcp 0 0 0.0.0.0:25 0.0.0.0:* ...
tcp 0 0 0.0.0.0:445 0.0.0.0:* ...
*** クライアント側の設定 [#f1669c99]
&ref(SMTP-AuthTLS2.JPG);
&ref(SMTP-AuthTLS.JPG);
** Postfix main.cf の設定マニュアル [#c9a7d0de]
- 日本語マニュアル添付 → &ref(Postfix_manual.txt);
- main.cf の設定での注意として
myhostname = ホスト名
mydomain = ドメイン名
inet_interfaces = all mydestination = myhostname, localh...
-- この中で ''COLOR(RED){(myhostname には自分のIPを逆引...
----
//
// courier-IMAP の導入
//
* MUA の導入 [#afc5d8a3]
** MUA の導入 :courier-IMAP (4.0.0 2005-1-1) の導入 [#w9...
*** 必要なファイルの検索とダウンロード [#qf1b903a]
- FerdaCore1自宅メールサーバーで安定現在稼働中の courier...
-- FC1 環境ではソースからフルビルドしたが、今回は後の管理...
-- 最新版を [[開発サイト>http://www.courier-mta.org/?down...
-- 必要なファイルは2つある。 ''COLOR(RED){先に courier-a...
The Courier authentication library must be installed bef...
that needs direct access to mailboxes
(in other words, all packages except for courier-sox and...
--- courier-authlib-0.52.tar.bz2 → &ref(courier-authlib-...
--- courier-imap-4.0.0.tar.bz2 → &ref(courier-imap-4.0...
-- ファイルを一般ユーザーとして、ユーザのホームに Downloa...
[server_admin@power server_admin]$ ls -l
drwxrwxr-x 17 server_admin server_admin 12288 1月 2...
-rw------- 1 server_admin server_admin 1965591 1月 2...
drwxrwxr-x 21 server_admin server_admin 4096 1月 2...
-rw------- 1 server_admin server_admin 3031646 1月 2...
*** インストールの準備 (疑似 rpm 環境作成) [#tadecc5f]
- ''COLOR(RED){rpm の作成はまでの作業は root 以外のユーザ...
- これは rpm をユーザートップディレクトリ配下に /usr/src...
- 今回は server_admmin ユーザーのホームで以下のスクリプト...
ディレクトリ構造を作成した。
[server_admin@power courier-imap-4.0.0]$ mkdir -p $HOME/...
- /home/server_admin の配下に以下の構造ができた。
[root@power SPECS]# ls -l /home/server_admin/rpm/
合計 20
drwxrwxr-x 4 server_admin server_admin 4096 1月 3 04:...
drwxrwxr-x 4 server_admin server_admin 4096 1月 2 20:...
drwxrwxr-x 2 server_admin server_admin 4096 1月 2 21:...
drwxrwxr-x 2 server_admin server_admin 4096 1月 2 22:...
drwxrwxr-x 2 server_admin server_admin 4096 1月 3 04:...
- これは下の redhat のデェフォルトの rpm の置き場所と同じ...
[root@power SPECS]# ls -l /usr/src/redhat/
合計 20
drwxr-xr-x 3 root root 4096 1月 1 22:43 BUILD
drwxr-xr-x 8 root root 4096 12月 29 05:17 RPMS
drwxr-xr-x 2 root root 4096 1月 2 12:27 SOURCES
drwxr-xr-x 2 root root 4096 1月 1 22:40 SPECS
drwxr-xr-x 2 root root 4096 1月 1 22:45 SRPMS
- 以下のコマンドを実行して、rpm プログラムに ''COLOR(RED)...
- このコマンドを server_admin ユーザーのログインスクリプ...
[server_admin@power courier-imap-4.0.0]$ echo "%_topdir ...
*** courier-authlib のインストール (rpm の作成、rpm のイ...
- /home/server_admin/ 直下にサイトからソース tarball を D...
- [[INSTALL Document:https://wiki.hmuna.com:9443/ext_docs...
- この中に rpm を作成する場合には .spec ファイルを編集す...
Do not try to hack the RPM build script to ignore these ...
For simplicity's and maintainability sake the RPM build ...
available authentication modules. All extra authenticati...
be built as optional subpackages. They do not have to be...
- また、mysql や open-ldap 関係のライブラリーを要求される...
Install the LDAP, MySQL, and PostgreSQL development libr...
duration of building binary RPMs. They can be uninstalle...
- 先に必要なライブラリーを yum でインストールする ( rpmbu...
[root@power courier-authlib-0.52]# yum install postgresq...
[root@power courier-authlib-0.52]# yum install mysql-devel
[root@power courier-authlib-0.52]# yum install expect
- 以下の手順に従って rpm を作成する (特に何も設定はしてい...
[server_admin@power courier-authlib-0.52]$ cp courier-au...
[server_admin@power courier-authlib-0.52]$ cd ../rpm/SPE...
[server_admin@power SPECS]$ rpmbuild -ba courier-authlib...
-- rpmbuild 時のログ → &ref(authlib_rpmbuild_log_01...
-- rpmbuild 再実行時のログ → &ref(authlib_rpmbuild_log_01...
- su で root になってから rpm で courier-authlib をインス...
[server_admin@power SPECS]$ su
Password:
[root@power SPECS]# rpm -ivh ../RPMS/i386/courier-authli...
Preparing... ############################...
1:courier-authlib ############################...
2:courier-authlib-debugin############################...
3:courier-authlib-devel ############################...
4:courier-authlib-ldap ############################...
5:courier-authlib-mysql ############################...
6:courier-authlib-pgsql ############################...
7:courier-authlib-userdb ############################...
- 作成した FedraCore2 用の rpm ダウンロード
+ → &ref(courier-authlib-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-debuginfo-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-devel-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-ldap-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-mysql-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-pgsql-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-userdb-0.52-1.2.i386.rpm);
*** courier-imap のインストール (rpm の作成、rpm のインス...
- spec ファイルの編集 : 日本語文字コードの追加を行う (88...
[server_admin@power courier-imap-4.0.0] vi courier-imap....
87 %if %(test '%{xflags}' = '%%{xflags}' && echo 1 || ec...
88 %define xflags --enable-unicode=iso-2022-jp,iso-8859-...
89 %endif
- 上記の courier-authlib と同じ手順で rpm を作成する (一...
[server_admin@power courier-imap-4.0.0]$ cp courier-imap...
[server_admin@power courier-imap-4.0.0]$ cp ../courier-i...
[server_admin@power courier-imap-4.0.0]$ cd ../rpm/SPECS
-- rpm 作成時のログ → &ref(imap_rpmbuild_log_0103.txt);
- su で root になってから rpm で courier-imap をインスト...
[server_admin@power SPECS]$ su
Password:
[root@power SPECS]# rpm -ivh ../RPMS/i386/courier-imap-*
Preparing... ############################...
1:courier-imap-debuginfo ############################...
2:courier-imap ############################...
- 作成した FedraCore2 用の rpm
+ → &ref(courier-imap-4.0.0-1.2.i386.rpm);
+ → &ref(courier-imap-debuginfo-4.0.0-1.2.i386.rpm);
*** courier-IMAP の設定ファイル ( /usr/lib/courier-imap/e...
- /usr/lib/courier-imap/etc/ に 接続方式毎に複数の設定フ...
-- pop3d : 変更なし headline アカウントがSSLを使え...
-- pop3d-ssl : メール証明書の定義を変更
-- imapd : 変更なし、最終的には起動しない設定に変更...
-- imapd-ssl : メール証明書の定義を変更
- メール証明書の変更箇所
#TLS_CERTFILE=/usr/lib/courier-imap/share/pop3d.pem
# muna modify to refer /usr/local/certs/webmail.pem
TLS_CERTFILE=/usr/local/certs/webmail.pem
*** 各ユーザーの Maildir を作成 ( courier の場合、root で...
[root@power root]# /usr/lib/courier-imap/bin/maildirmake...
[root@power root]# ls -l
合計 188
drwxr-xr-x 2 root root 4096 1月 1 21:26 Desktop
drwx------ 5 root root 4096 1月 2 20:38 Maildir
-rw-r--r-- 1 root root 1826 12月 24 17:04 anaconda-ks....
drwx------ 8 root root 4096 1月 1 21:07 evolution
-rw-r--r-- 1 root root 64076 12月 24 17:04 install.log
-rw-r--r-- 1 root root 5890 12月 24 17:04 install.log....
*** courier-IMAP の起動状況の確認 [#wd2fbc44]
- /var/log/maillog を見ると設定したプロセスが正常に起動し...
-- authdaemon としては PAM, MySQL, PostgreSQL などが動作...
-- メールエンジンとしては pop3 と imap4 が起動している (S...
Jan 3 14:05:12 power authdaemond: modules="authuserdb a...
Jan 3 14:05:12 power authdaemond: Installing libauthuse...
Jan 3 14:05:12 power authdaemond: Installation complete...
Jan 3 14:05:12 power authdaemond: Installing libauthpam
Jan 3 14:05:12 power authdaemond: Installation complete...
Jan 3 14:05:12 power authdaemond: Installing libauthldap
Jan 3 14:05:12 power authdaemond: Installation complete...
Jan 3 14:05:12 power authdaemond: Installing libauthcus...
Jan 3 14:05:12 power authdaemond: Installation complete...
-- netstat -an --tcp を見ると、必要なポート (pop:110, ima...
) は LISTEN になっている
[root@power root]# netstat -an --tcp | grep -e 110 -e 143
tcp 0 0 :::110 :::* ...
tcp 0 0 :::143 :::* ...
- ''COLOR(RED){しかし、メールサーバーへの接続を行うとエラ...
Jan 3 14:06:40 power imapd: Connection, ip=[::ffff:192....
Jan 3 14:06:47 power imapd: authdaemon: s_connect() fai...
Jan 3 14:06:47 power imapd: LOGIN FAILED, user=munakata...
Jan 3 14:06:47 power imapd: authentication error: No su...
Jan 3 14:07:02 power imapd: Connection, ip=[::ffff:192....
Jan 3 14:07:02 power imapd: authdaemon: s_connect() fai...
Jan 3 14:07:02 power imapd: LOGIN FAILED, user=munakata...
Jan 3 14:07:02 power imapd: authentication error: No su...
*** courier-authdaemon の不具合の原因解析 [#b559e802]
- [[このページ>http://www.infocopter.com/know-how/courier...
-- /usr/lib/courier-imap/etc/pop3d に DEBUG_LOGIN=2 を追...
-- /etc/syslog.conf に以下の行を追加し、ファイルを作成し...
*.debug /var/log/debug
-- killall -1 syslogd を実行して syslog を再起動した
-- courier-IMAP と courier-Authdaemon を再起動した
-- telnet xxxx 110 で pop3 にアクセスした
- /var/log/debug に pop3d のデバッグメッセージを出してみた
Jan 3 16:26:53 power syslogd 1.4.1: restart.
Jan 3 16:27:19 power htt_server[2263]: Client shut down...
Jan 3 16:27:19 power htt_server[2263]: status has not b...
Jan 3 16:27:24 power userhelper[3163]: pam_timestamp: u...
Jan 3 16:27:24 power userhelper[3164]: running '/usr/sb...
Jan 3 16:27:31 power authdaemond: stopping authdaemond ...
Jan 3 16:27:33 power authdaemond: modules="authuserdb a...
Jan 3 16:27:33 power authdaemond: Installing libauthuse...
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:33 power authdaemond: Installing libauthpam
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:33 power authdaemond: Installing libauthldap
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:33 power authdaemond: Installing libauthcus...
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:41 power htt_server[2263]: status has not b...
Jan 3 16:27:44 power htt_server[2263]: status has not b...
Jan 3 16:27:55 power pop3d: Connection, ip=[::ffff:192....
Jan 3 16:28:04 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: authdaemon: s_connect() fai...
Jan 3 16:28:10 power pop3d: LOGIN FAILED, user=munakata...
Jan 3 16:28:10 power pop3d: authentication error: No su...
Jan 3 16:28:14 power htt_server[2263]: status has not b...
- これでは、/var/log/maillog の情報とあまり変わらない、何...
+ 関連のありそうなファイルを探してみた。
++ /var/spool/authdaemon
++ /usr/sbin/authdaemond <---- daemon startup script
++ /usr/src/debug/courier-authlib-0.52/authdaemon.c ...
++ ''COLOR(RED){/usr/src/debug/courier-authlib-0.52/authd...
++ /usr/src/debug/courier-authlib-0.52/authdaemond.c ...
++ /usr/lib/debug/usr/libexec/courier-authlib/authdaemond...
++ /usr/libexec/courier-authlib/authdaemond
++ /usr/local/sbin/authdaemond
++ /usr/local/var/spool/authdaemon
++ /usr/local/libexec/courier-authlib/authdaemond
++ /usr/local/etc/authlib/authdaemonrc <-------- 設定フ...
++ /usr/local/etc/authlib/authdaemonrc.dist <----- 自動生...
- 関連しそうなファイル (上記の赤いソース) の中の問題の原...
static int opensock()
{
int s=socket(PF_UNIX, SOCK_STREAM, 0);
struct sockaddr_un skun;
...
skun.sun_family=AF_UNIX;
strcpy(skun.sun_path, AUTHDAEMONSOCK);
...
if (s < 0)
{
perror("CRIT: authdaemon: socket() faile...
return (-1);
}
...
if (s_connect(s, (const struct sockaddr *)&skun, ...
{
perror("ERR: authdaemon: s_connect() fai...
if (errno == ETIMEDOUT || errno == ECONN...
fprintf(stderr, "ERR: [Hint: per...
close(s);
return (-1);
}
return (s);
}
- 上の場所だとすると、ソケットが開けないのが原因のようだ
----
* FAQ [#j600c36f]
*** 添付ファイルがなくなる問題 [#q07bb915]
- OutLook 2003 から送信したメールに添付したメールが無くな...
- 解析したところ 添付ファイルが MIME が解釈できない winma...
ファイルになって添付されていることがわかった
- この添付ファイルは OutLook でしか展開できないもの
- これを防ぐには OutLook で送信時に リッチテキスト を利用...
- 参照情報 ⇒ http://support.microsoft.com/default.aspx?sc...
----
//
// 失敗の記録
//
* 失敗の記録 [#kf31844a]
** MUA の導入1:Dovecot [#m3e6ff2b]
- 従来 courier-IMAP で POP3、IMAP を SSL 対応で運用してい...
- Dovecot を試験的に導入した結果、''COLOR(RED){root アカ...
-- /etc/dovecot.conf の中の記述
# Valid UID range for users, defaults to 500 and above. ...
# to make sure that users can't log in as daemons or oth...
# Note that denying root logins is hardcoded to dovecot ...
# be done even if first_valid_uid is set to 0.
#first_valid_uid = 500
#last_valid_uid = 0
-- 実際にアクセスした時の /var/log/maillog のエラー
Jan 1 21:02:38 power dovecot: Logins with UID 0 not per...
Jan 1 21:02:38 power pop3-login: Internal login failure...
*** Devcot の標準導入を行う。 [#g5b517c4]
- 設定ファイル /etc/dovecot.conf の編集
-- imap, imaps, pop, pops を有効にする (外部からは SSL ...
# muna enables All
protocols = imap imaps pop3 pop3s
-- SSL を有効にする
# Disable SSL/TLS support.
#ssl_disable = no
# muna enables SSL
ssl_disable = no
-- サーバー証明書の場所の指定
--- サーバー証明書は [[SSL>[[Fedra2SSL]]]] のページで作成...
# muna defines certs file create by own (an-autjrozed) CA
ssl_cert_file = /usr/local/certs/webmail_server.crt
ssl_key_file = /usr/local/certs/webmail.pem
- 編集した 2005-1-1 時点の dovecot.conf (但し web-mail が...
*** どうも様子がおかしい [#mdf0a5f8]
-- 基本的には SSL で IMAP4 で SMTP-Auth でのセッションが...
-- 時々 タイムアウトエラーがクライアント(Outlook 2003) 上...
-- /var/log/maillog を見ると
Jan 2 15:12:51 power imap-login: Login: munakata [192.1...
Jan 2 15:22:32 power dovecot: child 18512 (imap) killed...
Jan 2 15:22:42 power imap-login: Login: munakata [192.1...
Jan 2 15:22:44 power dovecot: child 18556 (imap) killed...
Jan 2 15:22:48 power imap-login: Login: munakata [192.1...
Jan 2 15:24:04 power dovecot: child 18558 (imap) killed...
Jan 2 15:24:07 power imap-login: Login: munakata [192.1...
Jan 2 15:24:07 power dovecot: child 18561 (imap) killed...
Jan 2 15:24:28 power imap-login: Login: munakata [192.1...
Jan 2 15:24:28 power imap-login: Login: munakata [192.1...
Jan 2 15:42:35 power imap-login: Login: munakata [192.1...
Jan 2 15:42:52 power last message repeated 4 times
Jan 2 15:43:02 power dovecot: child 18698 (imap) killed...
- 明らかに、dovect から何度も切断されて再接続をしている様...
- /Maildir のロックに絡んだ場所に問題があるのかもしれない
- homepage を見ると ''COLOR(RED){まだ色々デバッグを行って...
** courier-IMAP 失敗手順の記録 (これをやってはだめ) [#hea...
*** 問題発生 --- 例によってパッケージが足りない [#td5cf0d9]
- rpmbuild で RPM を作成しようと試みたが、例によってエラ...
[server_admin@power courier-imap-4.0.0]$ rpmbuild -ba co...
エラー: Failed build dependencies:
courier-authlib-devel is needed by courier-imap-...
openldap-servers is needed by courier-imap-4.0.0...
- su コマンドで root になって yum で必要なファイルをイン...
-- root にならないと yum でインストールできない
[server_admin@power courier-imap-4.0.0]$ su
Password:
[root@power courier-imap-4.0.0]#
-- openladp-servers は yum でインストールできた
[root@power courier-imap-4.0.0]# yum install openldap-se...
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: openldap-servers 2.1.29-1.i386]
Is this ok [y/N]: y
Downloading Packages
Getting openldap-servers-2.1.29-1.i386.rpm
openldap-servers-2.1.29-1 100% |========================...
Running test transaction:
Test transaction complete, Success!
openldap-servers 100 % done 1/1
Installed: openldap-servers 2.1.29-1.i386
Transaction(s) Complete
[root@power courier-imap-4.0.0]#
-- しかし courier-authlib-devel は yum では見つけられなか...
[root@power courier-imap-4.0.0]# yum install courier-aut...
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Cannot find a package matching courier-authlib-devel
No actions to take
-- [[courier の開発サイトの Download page :http://www.cou...
-- Download して設定をおこなう
-- root から一般ユーザに戻って、server_admin のホームにダ...
[server_admin@power server_admin]$ tar -jxf courier-auth...
[server_admin@power server_admin]$ cd courier-authlib-0.52
[server_admin@power courier-authlib-0.52]$ cat INSTALL
-- &ref(INSTALL); の中身を読むと 一般的には下記の手順でイ...
./configure [options] [variable=value]*...
make
make install
make install-migrate
make install-configure
-- これは以前見たことがある → [[昔のページ>Home_mail]] を...
The 'make install-migrate' command imports the authentic...
configuration from earlier versions of these packages. '...
install-migrate' is not needed otherwise.
-- と書いてあるので 上記の unstall-migrate は今回は不要...
-- ./configure を実行したら、最後に以下のワーニングが出た...
configure: WARNING: === I think you are trying to run th...
configure: WARNING: === on Red Hat/Fedora. You're doing...
configure: WARNING: === It's much faster to create insta...
configure: WARNING: === like this: http://www.courier-mt...
configure: WARNING: === When you do this you may find th...
configure: WARNING: === to install some other software f...
configure: WARNING: === build this one, and even tell yo...
configure: WARNING: === need to install from the distrib...
configure: WARNING: === easier than trying to figure out...
configure: WARNING: === cryptic error message.
configure: WARNING:
configure: WARNING: === Even if you don't intend to use ...
configure: WARNING: === have in order to build via RPM, ...
configure: WARNING: === you're told. All the extra stuf...
configure: WARNING: === goes into RPM sub-packages, whic...
configure: WARNING: === installed.
configure: WARNING: === But, if you insist, you can simp...
configure: WARNING: === parameter to this configure scri...
configure: WARNING: === error message. You should also ...
configure: WARNING: === and you didn't use RPM with the ...
configure: error: ... in either case you better know wha...
-- 改めて RPM を探すが、すぐに使えそうな物も見付からない ...
-- 上の親切なメッセージの最後にある -with-redhat を付けて...
-- 以下のエラーがあるがとりあえず正常終了した。全体のログ...
[server_admin@power courier-authlib-0.52]$ cd courier-au...
( 途中省略 : 詳細は添付ログ参照 )
checking for expect... no
configure: WARNING: ------------------------------------...
configure: WARNING: expect not found - will not be able ...
configure: WARNING: in webmail
configure: WARNING: ------------------------------------...
checking for passwd... /usr/bin/passwd
( 途中省略 : 詳細は添付ログ参照 )
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
[server_admin@power courier-authlib-0.52]$
-- 引続き make, 更に su コマンドで root になって make-ins...
--- make 時のログ → &ref(make_log.txt);
--- make install 時のログ → &ref(make_install_log.txt);
--- make install-configure 時のログ → &ref(make_install-c...
*** courier-IMAP 4.0.0 のインストールの続き [#ncd439e0]
- rpm の作成を再開する
[server_admin@power server_admin]$ cd rpm/SPECS/
[server_admin@power SPECS]$ rpmbuild -ba courier-imap.sp...
エラー: Failed build dependencies:
courier-authlib-devel is needed by courier-imap-...
- しかし、上で苦労して courier-authlib 導入したのに、まだ...
- この際なので、--nodeps をつけて実行したら 膨大なログを...
- ログファイル → &ref(courier-IMAP-rpm_log.txt);
[server_admin@power SPECS]$ rpmbuild -ba --nodeps courie...
- su で root になって、作成した rpm を使ってインストール...
[server_admin@power SPECS]$ su
Password:
[root@power SPECS]# cd ../RPMS/i386/
[root@power i386]# ls -l
合計 420
-rw-rw-r-- 1 server_admin server_admin 421773 1月 2 2...
-rw-rw-r-- 1 server_admin server_admin 1457 1月 2 2...
*** やはり 依存関係でエラーが出てしまった [#c71e4da1]
[root@power i386]# rpm -ivh courier-imap-4.0.0-1.2.i386....
エラー: Failed dependencies:
libcourierauth.so.0 is needed by courier-imap-4....
libcourierauthsasl.so.0 is needed by courier-ima...
[root@power i386]#
- find コマンドで必要とされる 2つのファイルを検索すると...
- これは courier-authlib を rpm を使わずにインストールし...
[root@power i386]# find / -name libcourierauth.so -print
/usr/local/lib/courier-authlib/libcourierauth.so
/home/server_admin/courier-authlib-0.52/.libs/libcourier...
[root@power i386]# find / -name libcourierauthsasl.so -p...
/usr/local/lib/courier-authlib/libcourierauthsasl.so
/home/server_admin/courier-authlib-0.52/.libs/libcourier...
- 例によって、--nodeps でインストールを強行する。
[root@power i386]# rpm -ivh --nodeps courier-imap-4.0.0-...
Preparing... ############################...
1:courier-imap ############################...
[root@power i386]#
- めでたく正常にインストールが完了した ( nodeps だから当...
----
*** courier-authlib の rpm 化の検討 [#q5757329]
- courier-authlib.spec を編集して 不要な (そして rebuild ...
* procmail [#x2f50f09]
- http://www.jaist.ac.jp/~fjt/procmail.html
- http://www.cool-web.com/procsm1.html
- http://www.rcnp.osaka-u.ac.jp/Divisions/CN/computer/ibm...
- http://www.club.kyutech.ac.jp/support/manual/procmail.h...
- http://www.jp.redhat.com/manual/Doc72/RH-DOCS/rhl-rg-ja...
- http://laku19.adsl.netsonic.fi/era/procmail/links.html
** レシピの書き方 [#gfa541fe]
- ホームディレクトリに.procmailrc というファイルを置き、...
- 複数のレシピを記述することができ、一つのレシピは「:0」...
- 行頭に "#"を記述することでコメントを記述することもでき...
- レシピには大別して3つの事を記述します。
-- フラグ : Procmailにメッセージを渡す方法を指定
-- 条件文 :処理を行うメッセージを特定
-- アクション :条件に該当した場合に行う処理
*** フラグ [#u994d42e]
フラグにはメッセージを処理する際のProcmailへのメッセージ...
|H| 記述が省略された場合の動作。メッセージのヘッダだけを...
|B| メッセージの本文だけを条件文に渡し、検査する。|
|A| 同じブロックレベルに記述されたAや、aの用いられてない...
|a| Aと同様だが、手前のレシピが正しく実行された場合にだけ...
|E| Aの逆。手前のレシピが実行されなかった場合にだけ検査す...
|e| aの逆。手前のレシピが失敗した場合に検査する。|
|h| アクション部にヘッダだけを渡す。|
|b| アクション部にメッセージの本文だけを渡す。|
|f| パイプをフィルタとみなす。つまり、前処理ができる。|
|c| メッセージのコピーを残す。これがなければ、元のメール...
|w| 指定されたフィルタやプログラムが終了するまで待機し、...
|W|wと同じだが、処理に失敗しても検査する。 |
|i|あらゆる書きこみエラーを無視して検査する。 |
|hb|なにも書かない場合の動作。アクション部にメッセージの...
- フラグに続いてロックファイルを指定すると、あるメッセー...
- 指定の仕方はフラグの最後にスペースをつけて:[ロックファ...
- ロックファイル名は省略することができ、省略した場合は自...
:0 HBDhc :lock.txt
* ^HOGE
| tar zcf hoge.tar.gz
- lock.txt」があればそれをロックファイルとしてロックする。
- メールのヘッダ・本体を問わずある一行の行頭が「HOGE」で...
*** 条件文 [#w341f389]
- 条件文はフラグに続く、行頭が「*」で始まる行を指します。
- 条件は[[ 正規表現 >http://www.sixnine.net/regexp/index....
- 複数の条件文を記述することも可能で、その場合は全ての条...
条件文の記述には以下のものがあります。
|!|条件の否定。条件を満たさなかった時に実行する。|
|$|条件文に現れる環境変数をシェルの様に評価する。|
|?|指定したプログラムの終了コードを利用する。(0:成功、1...
|<|長さが後に記述されたバイト数(10進)以上であれば実行す...
| >|長さが後に記述されたバイト数(10進)以下であれば実行...
|変数名 ??|指定された値と変数を比較する。|
| \|クォートする。\/と記述することで該当個所を変数MATCHに...
- 例
HOGE=HOGEHOGE
GA=GAGAGA
CHECK=yes
:0 B : ロックファイルは省略。...
* ! ^$HOGE 行頭に「$HOGE」という...
* $ ^$GA 行頭に「GAGAGA」と書か...
* ? test -f $HOME/anti_hoge ホームディレクトリに「...
* < 5000 メッセージ本文が5000バ...
* > 4900 メッセージ本文が4900バ...
* $CHECK ?? yes 変数「CHACK」が「yes」...
* ^ADDR *\/.* 「ADDR」に続く空白文字...
| echo "$MATCH" >> anti_hoge 変数「MATCH」を「anti_...
- 例2 ( server_admin のスパム検出ロジック asof 2006-8-1...
# Only accept @[mail.]hmuna.com
:0H:
* ! ^From: .*@mail.hmuna.com
* ! ^From: .*@hmuna.com
#/dev/null
$MAILDIR/.INBOX.SPAM/cur
# Reject deception target mail
:0H:
* ^From: (support|sales|mail|root|postmaster|uucp)@hmuna...
$MAILDIR/.INBOX.SPAM/cur
# Reject title less mail
:0H:
* ^Title:$
$MAILDIR/.INBOX.SPAM/cur
***アクション [#w8064771]
全ての条件を満たした場合に実行される内容を一行で記述する。
|!|指定されたアドレスに転送。スペースで区切る事により列挙...
|||メッセージを他のプログラムに渡す。|
|{..}| メッセージにあたらしい条件文を付加したい時や、複数...
|ファイル名| メッセージをファイルに格納する。ロック指定を...
|ディレクトリ名 |メッセージにユニークなファイル名をつけて...
|ディレクトリ名/.| メッセージをディレクトリに連番形式で格...
|/dev/null| メッセージを廃棄。復元不可。|
** public_mail の設定 ( /home/publicmail/.procmailrc ) [#...
・ 最新のレシピ ----> &ref(procmail_recipi.txt);
[root@power root]# cat /home/public_mail/.procmailrc
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail
VERBOSE=ON
#
# spam assassin で SAPM を判定
#
:0 fw: spamassassin.lock
* < 256000
|/usr/bin/spamc
#
# SAPM メールの振り分け
#
# move [SPAM] marked mail to spam folder
:0
* ^Subject:.*SPAM
$MAILDIR/.spam/cur
# [SPAM] がなくてもレベルが1以はdoubtに移動
:0
* ^X-Spam-Level: [* ** *** ****]
$MAILDIR/.spam.doubt/
#
# SPAM 以外でも捨てるメールを指定
#
# delete キーマンズネット
:0
* ^From: .*news-keymans@mail.recruit.co.jp*
/dev/null
#
# Mailing List などの振り分け
#
# move CML
:0
* ^(To|Return-Path): .*@citroen*
$MAILDIR/.Message_saved.CML/
# move Cingular
:0
* ^From: .*@cingular-mail.com*
$MAILDIR/.Message_saved.cingular/
# move Nissen on-line
:0
* ^From: .*@nissen.co.jp*
$MAILDIR/.Message_saved.Shopping.Nissen/
# move Rakuten
:0
* ^From: .*rakuten.co.jp*
$MAILDIR/.Message_saved.Shopping.Rakuten/
# move Cecile
:0
* ^From: .*@cecile.co.jp
$MAILDIR/.Message_saved.Shopping.Cecile/
# move JustSystem
:0
* ^From: .*@justsystem.co.jp
$MAILDIR/.Message_saved.Shopping.JustSystem/
# move IBM
:0
* ^From: .*clubibm@*
$MAILDIR/.Message_saved.Shopping.IBM/
# move Tamamoya
:0
* ^From: .*tamamo@
$MAILDIR/.Message_saved.Shopping.Tamamo/
# move Nomura Securities
:0
* ^From: .*nomura@mail.nomura-trade*
$MAILDIR/.Message_saved.Nomura/
# Koizumi mail magazine
:0
* From: .*koizumi@mmz.kantei.go.jp*
$MAILDIR/.Message_saved.&XA9syTDhMPww6w-/
終了行:
#contents
* winmail.dat 対策 [#ba1207cd]
//** http://www.saga-ed.jp/workshop/edq01449/winmail.htm ...
*** Winmail Opener [#kb783729]
- http://www.eolsoft.com/freeware/winmail_opener/
- &ref(winmail_opener.exe);
*** TNEF [#o2f7d39b]
- &ref(fentun.exe,center, Fentun プログラム);
- http://www.fentun.com/
- http://zfacts.com/p/64.html
*** WM Decorde [#z7e7fb4d]
- &ref(WMDecode.exe,center, WM Decordeプログラム);
- http://www.biblet.freeserve.co.uk/
* MTA(SMTP)の導入 [#lde14ee8]
** postfix の導入1(FC2 のdefault環境) [#o4e16b35]
*** インストール済パッケージの確認 [#oc8ef3c3]
[root@power root]# rpm -q cyrus-sasl
cyrus-sasl-2.1.18-2.2
[root@power root]# rpm -q postfix
postfix-2.0.18-4
*** FC2 の初期状態では sendmail が有効になっているので、...
- sendmail の停止
[root@power root]# /etc/init.d/sendmail status
sendmail (pid 2209 2200) を実行中...
[root@power root]# /etc/init.d/sendmail stop
sendmail を停止中: ...
sm-clientを停止中: ...
- MTA を postfix に切替える
[root@power root]# /usr/sbin/alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selectio...
*** /etc/postfix/main.cf の設定 (必要な箇所だけ変更) [#...
- myhostname などの設定
60 # INTERNET HOST AND DOMAIN NAMES
61 #
62 # The myhostname parameter specifies the internet hos...
63 # mail system. The default is to use the fully-qualif...
64 # from gethostname(). $myhostname is used as a defaul...
65 # other configuration parameters.
66 #
67 #myhostname = host.domain.tld
68 #myhostname = virtual.domain.tld
69 myhostname = webmail.hmuna.com
-- hmuna.com ドメイン内に メール転送エンジン(MTA) が複数...
-- MTA の名前を区別するために webmail.hmuna.com という ho...
-- リレーの設定をしていないので、外部に直接メールを送れる...
- mynetworks の設定
# Alternatively, you can specify the mynetworks list by ...
# which case Postfix ignores the mynetworks_style setting.
#
# Specify an explicit list of network/netmask patterns, ...
# mask specifies the number of bits in the network part ...
# address.
#
# You can also specify the absolute pathname of a patter...
# of listing the patterns here. Specify type:table for t...
# (the value on the table right-hand side is not used).
#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
# muna only defines mynetworks including office mail sys...
mynetworks = 202.221.8.114/32, 192.168.1.0/24, 127.0.0.0/8
- MailDir 方式の設定
# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional path...
# mailbox file relative to a user's home directory. The ...
# mailbox file is /var/spool/mail/user or /var/mail/user...
# "Maildir/" for qmail-style delivery (the / is required).
#
# muna adopt Maildir style expecting Courier-IMAP
#
#home_mailbox = Mailbox
home_mailbox = Maildir/
*** 各ユーザーの MailDir の作成 [#ic786a82]
- MailDirMake を使って各ユーザーのホームディレクトリに Ma...
- 別の web http://poinca.ikezoe.net/info/postfix_install....
*** postfix だけを利用したメール転送の実験 [#t97eb2d0]
- コマンドラインから sendmail (=postfix の互換コマンド...
sendmail -s "mail titile" munakata (return)
Mail message
( ctrl+d )
cc: ( return )
- 実際に root から munakata にメールを転送してみる
[root@power root]# mail -s "postfix local mail test" mun...
This is inside server mail trans test
Cc:
[root@power root]#
- /var/log/maillog を確認する ---- メールが正常に送られ...
Jan 1 09:30:59 power postfix/pickup[6155]: 71C8A894069:...
Jan 1 09:30:59 power postfix/cleanup[6221]: 71C8A894069:
message-id=<20050101003059.71C8A894069@webmail.hmuna.com>
Jan 1 09:30:59 power postfix/nqmgr[3304]: 71C8A894069:
from=<root@webmail.hmuna.com>, size=362, nrcpt=1 (queue...
Jan 1 09:30:59 power postfix/local[6223]: 71C8A894069:
to=<munakata@webmail.hmuna.com>, orig_to=<munakata>, re...
- /home/munakata の下には Maildir が自動的に作られた
*** 課題1:/var/spool/postfix のパーミションの修正を行っ...
- root → to:munakata cc:admin のメールを送ったところ admi...
Jan 1 01:02:16 power postfix/pickup[3303]: 7634389405E:...
Jan 1 01:02:16 power postfix/cleanup[3688]:
7634389405E:messageid=<20041231160216.7634389405E@webma...
Jan 1 01:02:16 power postfix/nqmgr[3304]:7634389405E:fr...
<root@webmail.hmuna.com>, size=335, nrcpt=1 (queue active)
Jan 1 01:02:16 power postfix/local3690]:7634389405E:
to=<postfix@webmail.hmuna.com>, orig_to=<admin>, relay=...
status=bounced (maildir delivery failed:create/var/spoo...
tmp/1104508936.P3690.power.hmuna.com: Permission denied)
Jan 1 01:02:16 power postfix/cleanup[3688]: 7AF8E89405F:
messageid=<20041231160216.7AF8E89405F@webmail.hmuna.com>
Jan 1 01:02:16 power postfix/nqmgr[3304]: 7AF8E89405F: ...
size=2123,nrcpt=1 (queue active)
Jan 1 01:02:16 power postfix/local[3690]: 7AF8E89405F:
to=<postfix@webmail.hmuna.com>, orig_to=<root@webmail.h...
relay=local, delay=0, status=bounced (maildir delivery...
/var/spool/postfix/Maildir/tmp/1104508936.P3690.power.h...
-- root → admin あてのメールが届かない理由があるようだ (...
-- 不達の連絡を root に返そうとしたところ、root 用の Mail...
-- 何故か root の Maildir は /root の下ではなく、/var/spo...
-- /var/spool のディレクトリを見ると、postfix ディレクト...
-- %%''COLOR(RED){/var/spool/postfix ディレクトイリのオー...
[root@power root]# chown postfix.postfix /var/spool/post...
[root@power root]# ls -l /var/spool/
合計 64
drwxr-xr-x 2 root root 4096 12月 24 20:30 anacron
drwx------ 3 daemon daemon 4096 12月 24 16:55 at
drwxrwx--- 2 smmsp smmsp 4096 12月 31 04:03 client...
drwx------ 2 root root 4096 12月 24 21:15 cron
drwx--x--- 3 root sys 4096 12月 22 23:01 cups
drwxr-xr-x 2 root root 4096 3月 12 2004 lpd
drwxrwxr-x 2 root mail 4096 1月 1 00:40 mail
drwxr-xr-x 3 root root 4096 12月 24 17:04 mailman
drwx------ 2 root mail 4096 12月 31 04:03 mqueue
drwxr-xr-x 15 postfix postfix 4096 1月 1 02:18 postfix
drwxr-xr-x 2 rpm rpm 4096 12月 29 05:17 repack...
drwxrwxrwt 2 root root 4096 12月 18 12:42 samba
drwxr-x--- 2 squid squid 4096 10月 13 02:42 squid
drwxr-xr-x 3 root root 4096 11月 21 18:26 squirr...
drwxr-xr-x 2 root root 4096 5月 12 2004 up2date
drwxrwxrwt 2 root root 4096 3月 3 2004 vbox
-- postfix ディレクトリーのオーナーを変更したら正常にメー...
Jan 1 02:18:30 power postfix/pickup[3987]: D3C0E89405F:...
Jan 1 02:18:30 power postfix/cleanup[4019]: D3C0E89405F:
message-id=<20041231171830.D3C0E89405F@webmail.hmuna.com>
Jan 1 02:18:30 power postfix/nqmgr[3304]: D3C0E89405F:
from=<root@webmail.hmuna.com>, size=392, nrcpt=2 (queue...
Jan 1 02:18:30 power postfix/local[4021]: D3C0E89405F:
to=<postfix@webmail.hmuna.com>, orig_to=<admin>, relay=...
Jan 1 02:18:30 power postfix/local[4022]: D3C0E89405F:
to=<postfix@webmail.hmuna.com>, orig_to=<root>, relay=l...
-- ''COLOR(RED){上記の変更を行ってから /var/log/maillog ...
Jan 1 17:01:10 power postfix/postfix-script: warning: n...
-- /var/spool/postfix のオーナーを root に戻して、その配...
[root@power certs]# ls -l /var/spool/
合計 64
drwxr-xr-x 2 root root 4096 12月 24 20:30 anacron
drwx------ 3 daemon daemon 4096 12月 24 16:55 at
drwxrwx--- 2 smmsp smmsp 4096 12月 31 04:03 clientmq...
drwx------ 2 root root 4096 12月 24 21:15 cron
drwx--x--- 3 root sys 4096 12月 22 23:01 cups
drwxr-xr-x 2 root root 4096 3月 12 2004 lpd
drwxrwxr-x 2 root mail 4096 1月 1 10:36 mail
drwxr-xr-x 3 root root 4096 12月 24 17:04 mailman
drwx------ 2 root mail 4096 12月 31 04:03 mqueue
drwxr-xr-x 17 root root 4096 1月 2 02:09 postfix
drwxr-xr-x 2 rpm rpm 4096 12月 29 05:17 repackage
drwxrwxrwt 2 root root 4096 12月 18 12:42 samba
drwxr-x--- 2 squid squid 4096 10月 13 02:42 squid
drwxr-xr-x 3 root root 4096 11月 21 18:26 squirrel...
drwxr-xr-x 2 root root 4096 5月 12 2004 up2date
drwxrwxrwt 2 root root 4096 3月 3 2004 vbox
[root@power certs]# ls -l /var/spool/postfix/
合計 60
drwx------ 5 postfix root 4096 1月 1 02:18 Maildir
drwx------ 7 postfix root 4096 1月 2 04:02 active
drwx------ 3 postfix root 4096 1月 2 02:25 bounce
drwx------ 2 postfix root 4096 1月 1 22:44 corrupt
drwx------ 2 postfix root 4096 1月 1 22:44 defer
drwx------ 2 postfix root 4096 1月 1 22:44 deferred
drwx------ 2 postfix root 4096 1月 1 22:44 flush
drwx------ 2 postfix root 4096 1月 1 22:44 hold
drwx------ 7 postfix root 4096 1月 2 04:02 incoming
drwx-wx--- 2 postfix root 4096 1月 2 04:02 maildrop
drwxr-xr-x 2 postfix root 4096 1月 2 02:25 pid
drwx------ 2 postfix root 4096 1月 2 02:21 private
drwx--x--- 2 postfix root 4096 1月 2 02:21 public
drwx------ 2 postfix root 4096 1月 1 22:44 saved
drwx------ 2 postfix root 4096 1月 2 02:09 trace
*** 再考 : root あてのメールが受信できない問題 [#e6651f35]
- /var/log/maillog のエラーメッセージ
Nov 5 10:26:23 power postfix/local[3911]: 39B818940FA:
to=<root@hmuna.com>, relay=local, delay=0, status=bounced
(can't create user output file. Command output: procmail...
- 結論として procmail を利用したメールリレーを行っている...
Root's mail is delivered to nobody
If you use procmail (or some other command) for local ma...
Postfix will not deliver mail as root. Instead, Postfix...
(or whatever) as nobody. Perhaps some day Wietse will tr...
enough to run external commands as root.
Solution: just like you're not supposed to log in as root
(except for unusual conditions), you're not supposed to ...
Create a mail alias for root that forwards mail to a rea...
/etc/aliases:
root: you
Execute the command newaliases whenever you change the a...
On some systems the alias database is not in /etc/aliase...
the location for your system, execute the command postco...
- これは procmail が root 権限で動作することの危険性に対...
- システムが発行する root あてのメールを別のアカウント (...
- alias の設定をしてもうまく root あてのメールが server_a...
[root@power etc]# postconf alias_maps
alias_maps = hash:/etc/postfix/aliases
- /etc/alias ではなく /etc/postfix/aliases に設定が必要で...
*** 課題1.5:パーミション関連 微調整 [#kec743ff]
- postfix バージョンアップ後の再起動でこんなエラーが出た...
Jan 2 14:37:15 power postfix/postfix-script: warning:
not owned by group postdrop: /var/spool/postfix/public
Jan 2 14:37:15 power postfix/postfix-script:
warning: not owned by group postdrop: /var/spool/postfi...
- こんな風にパーミションを変更した
[root@power root]# chown postfix.postdrop /var/spool/pos...
[root@power root]# chown postfix.postdrop /var/spool/pos...
[root@power root]# ls -l /var/spool/postfix/
合計 60
drwx------ 5 postfix root 4096 1月 1 02:18 Maildir
drwx------ 7 postfix root 4096 1月 2 04:02 active
drwx------ 3 postfix root 4096 1月 2 02:25 bounce
drwx------ 2 postfix root 4096 1月 1 22:44 corrupt
drwx------ 2 postfix root 4096 1月 1 22:44 defer
drwx------ 2 postfix root 4096 1月 1 22:44 deferred
drwx------ 2 postfix root 4096 1月 1 22:44 flush
drwx------ 2 postfix root 4096 1月 1 22:44 hold
drwx------ 7 postfix root 4096 1月 2 04:02 incoming
drwx-wx--- 2 postfix postdrop 4096 1月 2 04:02 maildrop
drwxr-xr-x 2 postfix root 4096 1月 2 02:25 pid
drwx------ 2 postfix root 4096 1月 2 14:37 private
drwx--x--- 2 postfix postdrop 4096 1月 2 14:37 public
drwx------ 2 postfix root 4096 1月 1 22:44 saved
drwx------ 2 postfix root 4096 1月 2 02:09 trace
*** 課題2:何故 admin ユーザだけは /home/admin の下に Ma...
- 上記の問題を解決したところ、メール転送自体でのエラーは...
- root → admin と root → munakata のメール転送ログを比較...
-- root → admin の転送
Jan 1 10:11:52 power postfix/pickup[6155]: 53B00894069:...
Jan 1 10:11:52 power postfix/cleanup[6534]: 53B00894069:
messageid=<20050101011152.53B00894069@webmail.hmuna.com>
Jan 1 10:11:52 power postfix/nqmgr[3304]: 53B00894069:
from=<root@webmail.hmuna.com>,
size=373, nrcpt=1 (queue active)
Jan 1 10:11:52 power postfix/local[6536]: 53B00894069:
to=<postfix@webmail.hmuna.com>, orig_to=<admin>, relay=...
-- root → munakata の転送
Jan 1 10:14:17 power postfix/pickup[6155]: 54C3489406C:...
Jan 1 10:14:17 power postfix/cleanup[6542]: 54C3489406C:
messageid=<20050101011417.54C3489406C@webmail.hmuna.com>
Jan 1 10:14:17 power postfix/nqmgr[3304]: 54C3489406C:
from=<root@webmail.hmuna.com>, size=344, nrcpt=1 (queue...
Jan 1 10:14:17 power postfix/local[6543]: 54C3489406C:
to=<munakata@webmail.hmuna.com>, orig_to=<munakata>, re...
- 最後の to= の宛先が異なるだけで他は同じ、何故 admin あ...
- よく分からないが、postfix のプリセットユーザーで admin ...
- ''COLOR(RED){結論として、admin というユーザ名は混乱の元...
** postfix の導入2 (2.1.4-5 に更新) [#c9dd8d07]
- SMTP 認証(SMTP Auth+TLS)をサポートするために postfix ...
- SMTP 経由でのメール送信がエラーになったいたために、以前...
- FC2 default の postfix でもできたのかもしれない(きっと...
-- 今回とった方法はログイン時から TLS 化し、その後、SMTP ...
-- PLAIN 認証しか対応できない Outlook Express でもセキュ...
-- 当初、ソースからパッチを当ててコンパイルしてみたのです...
-- いろいろ調べたところ Postfix のホームページからのリン...
*** RPM を作成してインストール [#a900a374]
- まずは、[[こちら:http://www.sahughes.jp/]] のサービスの...
- ダウンロードしたのは、postfix-2.1.4-5.src.rpm
- パッケージを展開する。このとき、user と group が違うと...
[root@power root]# cd /usr/src/redhat/SOURCES/
[root@power SOURCES]# wget ftp://ftp.sanguine.net/pub/p...
--12:27:06-- ftp://ftp.sanguine.net/pub/postfix/officia...
=> `postfix-2.1.4-5.src.rpm.1'
ftp.sanguine.net をDNSに問いあわせています... 61.115.7.227
ftp.sanguine.net[61.115.7.227]:21 に接続しています... 接...
anonymous としてログインしています... ログインしました!
==> SYST ... 完了しました。 ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。 ==> CWD /pub/postfix/offi...
==> PASV ... 完了しました。 ==> RETR postfix-2.1.4-5....
長さ: 2,564,530 (確証はありません)
100%[===================================================...
12:27:55 (55.17 KB/s) - `postfix-2.1.4-5.src.rpm.1' save...
[root@power SOURCES]# rpm -Uvh postfix-2.1.4-5.src.rpm
- ビルドのオプションとしてSASL(今回はSASL2とした。)と TLS...
- デフォルトで LDAP オプションが有効になっているのでオフ...
[root@power SOURCES]# export POSTFIX_SASL=2
[root@power SOURCES]# export POSTFIX_TLS=1
[root@power SOURCES]# export POSTFIX_LDAP=0
[root@power SOURCES]# sh make-postfix.spec
- バイナリ RPM を作成する。下記操作で、/usr/src/redhat/RP...
# cd /usr/src/redhat/SPECS
# rpmbuild -ba postfix.spec
- 上記で作成されたバイナリRPM(postfix-2.1.4-5.sasl2.tls.r...
- 新しい cf を作成するため、main.cf、master.cf を事前にリ...
[root@power SPCES]# mv /etc/postfix/main.cf /etc/postfix...
[root@power SPCES]# mv /etc/postfix/master.cf /etc/postf...
[root@power SPCES]# rpm -Uvh /usr/src/redhat/RPMS/i386/p...
-- バックアップされた main.cf → &ref(main.cf_2.0.18_muna_...
-- バックアップされた master.cf → &ref(master.cf_2.0.18_m...
- ''COLOR(RED){問題発生1}'' : RPM のインストールがエラ...
-- 最初から導入されていた cyrus-sasl-2.1.18-2.2 と競合す...
[root@power root]# rpm -Uhv/usr/src/redhat/RPMS/i386/pos...
Preparing... ############################...
file /etc/sysconfig/saslauthd from install of po...
conflicts with file from package cyrus-sasl-2.1.18-2.2
-- --force を付けて強引にインストールしたら、何かワーニン...
[root@power root]# rpm -Uhv --force /usr/src/redhat/RPMS...
Preparing... ############################...
1:postfix ############################...
link /usr/share/man/man8/sendmail.8.gz incorrect for sla...
(/usr/share/man/man1/sendmail.1.gz mta-sendmailman)
-- 上記の影響かどうか不明(途中で色々やったので)だが、FC ...
-- 実際には切替える必要は無いので、このエラーは無視して先...
[root@power root]# alternatives --config mta
There are 1 programs which provide 'mta'.
Selection Command
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
Enter to keep the current selection[+], or type selectio...
*** /etc/postfix/main.cf の編集 (一般的な設定) [#o7ab7982]
- %%2005-1-1 時点での 一般的な設定だけを行った main.cf%%
- この設定を行っただけで、SMTP 送信エラーの問題は解決した...
- 2005-1-13 端山氏の指導で設定を見直した → &ref(main.cf);...
-- myhostname = power.hmuna.com ← マシンの名前を指定する
-- mydomain = hmuna.com ← ドメイン名を指定する
-- myorigin = $myhostname ← myhostname を指定する
-- mydestination = $myhostname, localhost.$mydomain, $myd...
-- mynetworks = 202.221.8.114/32, 192.168.1.0/24, 127.0.0...
*** aliases の修正 [#jc7b3a8a]
- RPM からインストールすると root 宛てのメッセージが post...
- postfix ユーザを追加するか、メールを受け取れる実在する...
- 今回 munakata あてにサーバー管理関係のメールが来ると煩...
- /etc/aliases 編集後は newaliases コマンドを実行してデー...
# muna add postfix entry
postfix: server_admin
*** /etc/postfix/main.cf の編集 (認証関係の設定) [#o7ab79...
- ''COLOR(RED){問題発生2}'' :パソコンおやじ が引用して...
-- おやじ さんの参照している (その他のサイトでも引用して...
-- 昔使っていた ( postfix をソースから導入した ) FC1 の...
-- 仕方ないので 直接カット&コピーで main.cf に SASL 関連...
- SASL 関係は実際にはいくらも設定がない、問題になりそうな...
# ------------------------------------------------------...
## muna add SASL setting refered from パソコンおやじ
# ------------------------------------------------------...
# SMTP サーバ制御の設定
# SASLによるSMTP認証を使用
smtpd_sasl_auth_enable = yes
# 使用可能な認証メカニズムの設定(そのまま)
smtpd_sasl_security_options = noanonymous
# ローカル認証 realm の名前を設定
# Postfixのデフォルトはmyhostnameである。
# 実はここで大嵌りで、PAM 認証の場合はここは設定なしのま...
# 但し、これはsaslauthdによるPAM 認証の場合で、sasl パス...
# ドメイン(ホスト)名と同一の値を設定しないと、認証に失敗...
#
# muna : 当面は PAM 認証を利用するので、上記に従い ”設...
#
#smtpd_sasl_local_domain = $mydomain
#smtpd_sasl_local_domain = $myhostname
# リレーを許可するものを設定(sample-smtpd.cf)
# ・permit_mynetworks : mynetworksで指定されたネットワー...
# ・permit_sasl_authenticated : SMTP認証を通過したものは...
# ・reject_unauth_destination : 目的地が $inet_interface...
# または $virtual_mailbox_domains にマッチするアドレス...
# 目的地へのメール以外を拒否。
# (本設定で不正な外部からのメールをrejectする。check_r...
# されなくなった。)
smtpd_recipient_restrictions = permit_mynetworks,permit_...
# AUTHコマンドのサポートを認識できないクライアントへの対...
# Outlook Express 4 および Exchange 5等はAUTH コマンドを...
# 使用時は下記のような設定を追加する。おやじはOE 6.0なの...
broken_sasl_auth_clients=yes
- TLS 関係で引用するサーバー証明書の関係のファイル名、ロ...
# ------------------------------------------------------...
## muna add TLS setting refered from パソコンおやじ
# ------------------------------------------------------...
# サーバ証明書/鍵関係の設定を変更(RSAのみ対応)
smtpd_tls_cert_file = /usr/local/certs/webmail_server.crt
smtpd_tls_key_file = /usr/local/certs/server.key
# CA関係の設定を変更
smtpd_tls_CAfile = /usr/local/certs/demoCA/cacert.pem
smtpd_tls_CApath = /usr/local/certs/demoCA
# ログレベルの変更(最低レベル)
# smtpd_tls_loglevel = 0
smtpd_tls_loglevel = 1
# TLS使用(そのまま)
smtpd_use_tls = yes
# 認証はTLS使用のみ(TLSのみの場合はコメントアウトを外し...
# smtpd_tls_auth_only = no
# セッションキャッシュの設定(そのまま)
smtpd_tls_session_cache_database = sdbm:/etc/postfix/smt...
# 証明書は前述の方法で作成
#smtpd_tls_dh1024_param_file = /etc/postfix/dh_1024.pem
#smtpd_tls_dh512_param_file = /etc/postfix/dh_512.pem
# TLS用乱数デバイスの指定
tls_random_source = dev:/dev/urandom
# tls_random_source = egd:/var/run/egd-pool
# tls_random_bytes = 32
# tls_random_reseed_period = 3600s
- SASL / TLS 関係の設定を書き加えた main.cf → &ref(main...
- SASL / TLS 関係の設定を書き加えた master.cf → &ref(mast...
*** saslauthd 関係の設定 [#n9b59bd5]
- SMTP AUTHで使用する saslauthd 関係の設定をします。
-- 具体的には、saslauthd を起動し PAM による認証(UNIX パ...
-- sasl パスワードで認証する場合は、ここの項目は設定しな...
--- /usr/lib/sasl2/smtpd.conf に以下の設定がされているか...
--- これにより、saslauthd によりPLAIN 認証と LOGIN 認証が...
pwcheck_method: saslauthd
mech_list: plain login
--- /etc/sysconfig/saslauthdに下記のように設定する。(もと...
--- これにより、 saslauthd 起動スクリプトは pam による認...
MECH=pam
--- saslauthd の起動スクリプトを有効にし起動する
# chkconfig --level 345 saslauthd on
# service saslauthd start
*** sendmail互換プログラムの修正 [#t1b87517]
- messages に sendmail の path がおかしいと出ていたので調...
- CGI を直すのが面倒なので、下記で修正しました。
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# ln -s /usr/sbin/sendmail.postfix /usr/sbin/sendmail
*** postfix w/SASL, TLS の起動 [#d4b18529]
# chmod 755 /etc/rc.d/init.d/postfix
# chkconfig --add postfix
# chkconfig --list postfix
postfix 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ
# service postfix start
- 起動後に、netstat -ln (netstat -an --tcp) で25番と465番...
[root@power postfix]# netstat -an --tcp | grep -e 25 -e ...
tcp 0 0 0.0.0.0:25 0.0.0.0:* ...
tcp 0 0 0.0.0.0:445 0.0.0.0:* ...
*** クライアント側の設定 [#f1669c99]
&ref(SMTP-AuthTLS2.JPG);
&ref(SMTP-AuthTLS.JPG);
** Postfix main.cf の設定マニュアル [#c9a7d0de]
- 日本語マニュアル添付 → &ref(Postfix_manual.txt);
- main.cf の設定での注意として
myhostname = ホスト名
mydomain = ドメイン名
inet_interfaces = all mydestination = myhostname, localh...
-- この中で ''COLOR(RED){(myhostname には自分のIPを逆引...
----
//
// courier-IMAP の導入
//
* MUA の導入 [#afc5d8a3]
** MUA の導入 :courier-IMAP (4.0.0 2005-1-1) の導入 [#w9...
*** 必要なファイルの検索とダウンロード [#qf1b903a]
- FerdaCore1自宅メールサーバーで安定現在稼働中の courier...
-- FC1 環境ではソースからフルビルドしたが、今回は後の管理...
-- 最新版を [[開発サイト>http://www.courier-mta.org/?down...
-- 必要なファイルは2つある。 ''COLOR(RED){先に courier-a...
The Courier authentication library must be installed bef...
that needs direct access to mailboxes
(in other words, all packages except for courier-sox and...
--- courier-authlib-0.52.tar.bz2 → &ref(courier-authlib-...
--- courier-imap-4.0.0.tar.bz2 → &ref(courier-imap-4.0...
-- ファイルを一般ユーザーとして、ユーザのホームに Downloa...
[server_admin@power server_admin]$ ls -l
drwxrwxr-x 17 server_admin server_admin 12288 1月 2...
-rw------- 1 server_admin server_admin 1965591 1月 2...
drwxrwxr-x 21 server_admin server_admin 4096 1月 2...
-rw------- 1 server_admin server_admin 3031646 1月 2...
*** インストールの準備 (疑似 rpm 環境作成) [#tadecc5f]
- ''COLOR(RED){rpm の作成はまでの作業は root 以外のユーザ...
- これは rpm をユーザートップディレクトリ配下に /usr/src...
- 今回は server_admmin ユーザーのホームで以下のスクリプト...
ディレクトリ構造を作成した。
[server_admin@power courier-imap-4.0.0]$ mkdir -p $HOME/...
- /home/server_admin の配下に以下の構造ができた。
[root@power SPECS]# ls -l /home/server_admin/rpm/
合計 20
drwxrwxr-x 4 server_admin server_admin 4096 1月 3 04:...
drwxrwxr-x 4 server_admin server_admin 4096 1月 2 20:...
drwxrwxr-x 2 server_admin server_admin 4096 1月 2 21:...
drwxrwxr-x 2 server_admin server_admin 4096 1月 2 22:...
drwxrwxr-x 2 server_admin server_admin 4096 1月 3 04:...
- これは下の redhat のデェフォルトの rpm の置き場所と同じ...
[root@power SPECS]# ls -l /usr/src/redhat/
合計 20
drwxr-xr-x 3 root root 4096 1月 1 22:43 BUILD
drwxr-xr-x 8 root root 4096 12月 29 05:17 RPMS
drwxr-xr-x 2 root root 4096 1月 2 12:27 SOURCES
drwxr-xr-x 2 root root 4096 1月 1 22:40 SPECS
drwxr-xr-x 2 root root 4096 1月 1 22:45 SRPMS
- 以下のコマンドを実行して、rpm プログラムに ''COLOR(RED)...
- このコマンドを server_admin ユーザーのログインスクリプ...
[server_admin@power courier-imap-4.0.0]$ echo "%_topdir ...
*** courier-authlib のインストール (rpm の作成、rpm のイ...
- /home/server_admin/ 直下にサイトからソース tarball を D...
- [[INSTALL Document:https://wiki.hmuna.com:9443/ext_docs...
- この中に rpm を作成する場合には .spec ファイルを編集す...
Do not try to hack the RPM build script to ignore these ...
For simplicity's and maintainability sake the RPM build ...
available authentication modules. All extra authenticati...
be built as optional subpackages. They do not have to be...
- また、mysql や open-ldap 関係のライブラリーを要求される...
Install the LDAP, MySQL, and PostgreSQL development libr...
duration of building binary RPMs. They can be uninstalle...
- 先に必要なライブラリーを yum でインストールする ( rpmbu...
[root@power courier-authlib-0.52]# yum install postgresq...
[root@power courier-authlib-0.52]# yum install mysql-devel
[root@power courier-authlib-0.52]# yum install expect
- 以下の手順に従って rpm を作成する (特に何も設定はしてい...
[server_admin@power courier-authlib-0.52]$ cp courier-au...
[server_admin@power courier-authlib-0.52]$ cd ../rpm/SPE...
[server_admin@power SPECS]$ rpmbuild -ba courier-authlib...
-- rpmbuild 時のログ → &ref(authlib_rpmbuild_log_01...
-- rpmbuild 再実行時のログ → &ref(authlib_rpmbuild_log_01...
- su で root になってから rpm で courier-authlib をインス...
[server_admin@power SPECS]$ su
Password:
[root@power SPECS]# rpm -ivh ../RPMS/i386/courier-authli...
Preparing... ############################...
1:courier-authlib ############################...
2:courier-authlib-debugin############################...
3:courier-authlib-devel ############################...
4:courier-authlib-ldap ############################...
5:courier-authlib-mysql ############################...
6:courier-authlib-pgsql ############################...
7:courier-authlib-userdb ############################...
- 作成した FedraCore2 用の rpm ダウンロード
+ → &ref(courier-authlib-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-debuginfo-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-devel-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-ldap-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-mysql-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-pgsql-0.52-1.2.i386.rpm);
+ → &ref(courier-authlib-userdb-0.52-1.2.i386.rpm);
*** courier-imap のインストール (rpm の作成、rpm のインス...
- spec ファイルの編集 : 日本語文字コードの追加を行う (88...
[server_admin@power courier-imap-4.0.0] vi courier-imap....
87 %if %(test '%{xflags}' = '%%{xflags}' && echo 1 || ec...
88 %define xflags --enable-unicode=iso-2022-jp,iso-8859-...
89 %endif
- 上記の courier-authlib と同じ手順で rpm を作成する (一...
[server_admin@power courier-imap-4.0.0]$ cp courier-imap...
[server_admin@power courier-imap-4.0.0]$ cp ../courier-i...
[server_admin@power courier-imap-4.0.0]$ cd ../rpm/SPECS
-- rpm 作成時のログ → &ref(imap_rpmbuild_log_0103.txt);
- su で root になってから rpm で courier-imap をインスト...
[server_admin@power SPECS]$ su
Password:
[root@power SPECS]# rpm -ivh ../RPMS/i386/courier-imap-*
Preparing... ############################...
1:courier-imap-debuginfo ############################...
2:courier-imap ############################...
- 作成した FedraCore2 用の rpm
+ → &ref(courier-imap-4.0.0-1.2.i386.rpm);
+ → &ref(courier-imap-debuginfo-4.0.0-1.2.i386.rpm);
*** courier-IMAP の設定ファイル ( /usr/lib/courier-imap/e...
- /usr/lib/courier-imap/etc/ に 接続方式毎に複数の設定フ...
-- pop3d : 変更なし headline アカウントがSSLを使え...
-- pop3d-ssl : メール証明書の定義を変更
-- imapd : 変更なし、最終的には起動しない設定に変更...
-- imapd-ssl : メール証明書の定義を変更
- メール証明書の変更箇所
#TLS_CERTFILE=/usr/lib/courier-imap/share/pop3d.pem
# muna modify to refer /usr/local/certs/webmail.pem
TLS_CERTFILE=/usr/local/certs/webmail.pem
*** 各ユーザーの Maildir を作成 ( courier の場合、root で...
[root@power root]# /usr/lib/courier-imap/bin/maildirmake...
[root@power root]# ls -l
合計 188
drwxr-xr-x 2 root root 4096 1月 1 21:26 Desktop
drwx------ 5 root root 4096 1月 2 20:38 Maildir
-rw-r--r-- 1 root root 1826 12月 24 17:04 anaconda-ks....
drwx------ 8 root root 4096 1月 1 21:07 evolution
-rw-r--r-- 1 root root 64076 12月 24 17:04 install.log
-rw-r--r-- 1 root root 5890 12月 24 17:04 install.log....
*** courier-IMAP の起動状況の確認 [#wd2fbc44]
- /var/log/maillog を見ると設定したプロセスが正常に起動し...
-- authdaemon としては PAM, MySQL, PostgreSQL などが動作...
-- メールエンジンとしては pop3 と imap4 が起動している (S...
Jan 3 14:05:12 power authdaemond: modules="authuserdb a...
Jan 3 14:05:12 power authdaemond: Installing libauthuse...
Jan 3 14:05:12 power authdaemond: Installation complete...
Jan 3 14:05:12 power authdaemond: Installing libauthpam
Jan 3 14:05:12 power authdaemond: Installation complete...
Jan 3 14:05:12 power authdaemond: Installing libauthldap
Jan 3 14:05:12 power authdaemond: Installation complete...
Jan 3 14:05:12 power authdaemond: Installing libauthcus...
Jan 3 14:05:12 power authdaemond: Installation complete...
-- netstat -an --tcp を見ると、必要なポート (pop:110, ima...
) は LISTEN になっている
[root@power root]# netstat -an --tcp | grep -e 110 -e 143
tcp 0 0 :::110 :::* ...
tcp 0 0 :::143 :::* ...
- ''COLOR(RED){しかし、メールサーバーへの接続を行うとエラ...
Jan 3 14:06:40 power imapd: Connection, ip=[::ffff:192....
Jan 3 14:06:47 power imapd: authdaemon: s_connect() fai...
Jan 3 14:06:47 power imapd: LOGIN FAILED, user=munakata...
Jan 3 14:06:47 power imapd: authentication error: No su...
Jan 3 14:07:02 power imapd: Connection, ip=[::ffff:192....
Jan 3 14:07:02 power imapd: authdaemon: s_connect() fai...
Jan 3 14:07:02 power imapd: LOGIN FAILED, user=munakata...
Jan 3 14:07:02 power imapd: authentication error: No su...
*** courier-authdaemon の不具合の原因解析 [#b559e802]
- [[このページ>http://www.infocopter.com/know-how/courier...
-- /usr/lib/courier-imap/etc/pop3d に DEBUG_LOGIN=2 を追...
-- /etc/syslog.conf に以下の行を追加し、ファイルを作成し...
*.debug /var/log/debug
-- killall -1 syslogd を実行して syslog を再起動した
-- courier-IMAP と courier-Authdaemon を再起動した
-- telnet xxxx 110 で pop3 にアクセスした
- /var/log/debug に pop3d のデバッグメッセージを出してみた
Jan 3 16:26:53 power syslogd 1.4.1: restart.
Jan 3 16:27:19 power htt_server[2263]: Client shut down...
Jan 3 16:27:19 power htt_server[2263]: status has not b...
Jan 3 16:27:24 power userhelper[3163]: pam_timestamp: u...
Jan 3 16:27:24 power userhelper[3164]: running '/usr/sb...
Jan 3 16:27:31 power authdaemond: stopping authdaemond ...
Jan 3 16:27:33 power authdaemond: modules="authuserdb a...
Jan 3 16:27:33 power authdaemond: Installing libauthuse...
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:33 power authdaemond: Installing libauthpam
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:33 power authdaemond: Installing libauthldap
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:33 power authdaemond: Installing libauthcus...
Jan 3 16:27:33 power authdaemond: Installation complete...
Jan 3 16:27:41 power htt_server[2263]: status has not b...
Jan 3 16:27:44 power htt_server[2263]: status has not b...
Jan 3 16:27:55 power pop3d: Connection, ip=[::ffff:192....
Jan 3 16:28:04 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: LOGIN: ip=[::ffff:192.168.1...
Jan 3 16:28:10 power pop3d: authdaemon: s_connect() fai...
Jan 3 16:28:10 power pop3d: LOGIN FAILED, user=munakata...
Jan 3 16:28:10 power pop3d: authentication error: No su...
Jan 3 16:28:14 power htt_server[2263]: status has not b...
- これでは、/var/log/maillog の情報とあまり変わらない、何...
+ 関連のありそうなファイルを探してみた。
++ /var/spool/authdaemon
++ /usr/sbin/authdaemond <---- daemon startup script
++ /usr/src/debug/courier-authlib-0.52/authdaemon.c ...
++ ''COLOR(RED){/usr/src/debug/courier-authlib-0.52/authd...
++ /usr/src/debug/courier-authlib-0.52/authdaemond.c ...
++ /usr/lib/debug/usr/libexec/courier-authlib/authdaemond...
++ /usr/libexec/courier-authlib/authdaemond
++ /usr/local/sbin/authdaemond
++ /usr/local/var/spool/authdaemon
++ /usr/local/libexec/courier-authlib/authdaemond
++ /usr/local/etc/authlib/authdaemonrc <-------- 設定フ...
++ /usr/local/etc/authlib/authdaemonrc.dist <----- 自動生...
- 関連しそうなファイル (上記の赤いソース) の中の問題の原...
static int opensock()
{
int s=socket(PF_UNIX, SOCK_STREAM, 0);
struct sockaddr_un skun;
...
skun.sun_family=AF_UNIX;
strcpy(skun.sun_path, AUTHDAEMONSOCK);
...
if (s < 0)
{
perror("CRIT: authdaemon: socket() faile...
return (-1);
}
...
if (s_connect(s, (const struct sockaddr *)&skun, ...
{
perror("ERR: authdaemon: s_connect() fai...
if (errno == ETIMEDOUT || errno == ECONN...
fprintf(stderr, "ERR: [Hint: per...
close(s);
return (-1);
}
return (s);
}
- 上の場所だとすると、ソケットが開けないのが原因のようだ
----
* FAQ [#j600c36f]
*** 添付ファイルがなくなる問題 [#q07bb915]
- OutLook 2003 から送信したメールに添付したメールが無くな...
- 解析したところ 添付ファイルが MIME が解釈できない winma...
ファイルになって添付されていることがわかった
- この添付ファイルは OutLook でしか展開できないもの
- これを防ぐには OutLook で送信時に リッチテキスト を利用...
- 参照情報 ⇒ http://support.microsoft.com/default.aspx?sc...
----
//
// 失敗の記録
//
* 失敗の記録 [#kf31844a]
** MUA の導入1:Dovecot [#m3e6ff2b]
- 従来 courier-IMAP で POP3、IMAP を SSL 対応で運用してい...
- Dovecot を試験的に導入した結果、''COLOR(RED){root アカ...
-- /etc/dovecot.conf の中の記述
# Valid UID range for users, defaults to 500 and above. ...
# to make sure that users can't log in as daemons or oth...
# Note that denying root logins is hardcoded to dovecot ...
# be done even if first_valid_uid is set to 0.
#first_valid_uid = 500
#last_valid_uid = 0
-- 実際にアクセスした時の /var/log/maillog のエラー
Jan 1 21:02:38 power dovecot: Logins with UID 0 not per...
Jan 1 21:02:38 power pop3-login: Internal login failure...
*** Devcot の標準導入を行う。 [#g5b517c4]
- 設定ファイル /etc/dovecot.conf の編集
-- imap, imaps, pop, pops を有効にする (外部からは SSL ...
# muna enables All
protocols = imap imaps pop3 pop3s
-- SSL を有効にする
# Disable SSL/TLS support.
#ssl_disable = no
# muna enables SSL
ssl_disable = no
-- サーバー証明書の場所の指定
--- サーバー証明書は [[SSL>[[Fedra2SSL]]]] のページで作成...
# muna defines certs file create by own (an-autjrozed) CA
ssl_cert_file = /usr/local/certs/webmail_server.crt
ssl_key_file = /usr/local/certs/webmail.pem
- 編集した 2005-1-1 時点の dovecot.conf (但し web-mail が...
*** どうも様子がおかしい [#mdf0a5f8]
-- 基本的には SSL で IMAP4 で SMTP-Auth でのセッションが...
-- 時々 タイムアウトエラーがクライアント(Outlook 2003) 上...
-- /var/log/maillog を見ると
Jan 2 15:12:51 power imap-login: Login: munakata [192.1...
Jan 2 15:22:32 power dovecot: child 18512 (imap) killed...
Jan 2 15:22:42 power imap-login: Login: munakata [192.1...
Jan 2 15:22:44 power dovecot: child 18556 (imap) killed...
Jan 2 15:22:48 power imap-login: Login: munakata [192.1...
Jan 2 15:24:04 power dovecot: child 18558 (imap) killed...
Jan 2 15:24:07 power imap-login: Login: munakata [192.1...
Jan 2 15:24:07 power dovecot: child 18561 (imap) killed...
Jan 2 15:24:28 power imap-login: Login: munakata [192.1...
Jan 2 15:24:28 power imap-login: Login: munakata [192.1...
Jan 2 15:42:35 power imap-login: Login: munakata [192.1...
Jan 2 15:42:52 power last message repeated 4 times
Jan 2 15:43:02 power dovecot: child 18698 (imap) killed...
- 明らかに、dovect から何度も切断されて再接続をしている様...
- /Maildir のロックに絡んだ場所に問題があるのかもしれない
- homepage を見ると ''COLOR(RED){まだ色々デバッグを行って...
** courier-IMAP 失敗手順の記録 (これをやってはだめ) [#hea...
*** 問題発生 --- 例によってパッケージが足りない [#td5cf0d9]
- rpmbuild で RPM を作成しようと試みたが、例によってエラ...
[server_admin@power courier-imap-4.0.0]$ rpmbuild -ba co...
エラー: Failed build dependencies:
courier-authlib-devel is needed by courier-imap-...
openldap-servers is needed by courier-imap-4.0.0...
- su コマンドで root になって yum で必要なファイルをイン...
-- root にならないと yum でインストールできない
[server_admin@power courier-imap-4.0.0]$ su
Password:
[root@power courier-imap-4.0.0]#
-- openladp-servers は yum でインストールできた
[root@power courier-imap-4.0.0]# yum install openldap-se...
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: openldap-servers 2.1.29-1.i386]
Is this ok [y/N]: y
Downloading Packages
Getting openldap-servers-2.1.29-1.i386.rpm
openldap-servers-2.1.29-1 100% |========================...
Running test transaction:
Test transaction complete, Success!
openldap-servers 100 % done 1/1
Installed: openldap-servers 2.1.29-1.i386
Transaction(s) Complete
[root@power courier-imap-4.0.0]#
-- しかし courier-authlib-devel は yum では見つけられなか...
[root@power courier-imap-4.0.0]# yum install courier-aut...
Gathering header information file(s) from server(s)
Server: Fedora Core 2 - i386 - Base
Server: Fedora Core 2 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Cannot find a package matching courier-authlib-devel
No actions to take
-- [[courier の開発サイトの Download page :http://www.cou...
-- Download して設定をおこなう
-- root から一般ユーザに戻って、server_admin のホームにダ...
[server_admin@power server_admin]$ tar -jxf courier-auth...
[server_admin@power server_admin]$ cd courier-authlib-0.52
[server_admin@power courier-authlib-0.52]$ cat INSTALL
-- &ref(INSTALL); の中身を読むと 一般的には下記の手順でイ...
./configure [options] [variable=value]*...
make
make install
make install-migrate
make install-configure
-- これは以前見たことがある → [[昔のページ>Home_mail]] を...
The 'make install-migrate' command imports the authentic...
configuration from earlier versions of these packages. '...
install-migrate' is not needed otherwise.
-- と書いてあるので 上記の unstall-migrate は今回は不要...
-- ./configure を実行したら、最後に以下のワーニングが出た...
configure: WARNING: === I think you are trying to run th...
configure: WARNING: === on Red Hat/Fedora. You're doing...
configure: WARNING: === It's much faster to create insta...
configure: WARNING: === like this: http://www.courier-mt...
configure: WARNING: === When you do this you may find th...
configure: WARNING: === to install some other software f...
configure: WARNING: === build this one, and even tell yo...
configure: WARNING: === need to install from the distrib...
configure: WARNING: === easier than trying to figure out...
configure: WARNING: === cryptic error message.
configure: WARNING:
configure: WARNING: === Even if you don't intend to use ...
configure: WARNING: === have in order to build via RPM, ...
configure: WARNING: === you're told. All the extra stuf...
configure: WARNING: === goes into RPM sub-packages, whic...
configure: WARNING: === installed.
configure: WARNING: === But, if you insist, you can simp...
configure: WARNING: === parameter to this configure scri...
configure: WARNING: === error message. You should also ...
configure: WARNING: === and you didn't use RPM with the ...
configure: error: ... in either case you better know wha...
-- 改めて RPM を探すが、すぐに使えそうな物も見付からない ...
-- 上の親切なメッセージの最後にある -with-redhat を付けて...
-- 以下のエラーがあるがとりあえず正常終了した。全体のログ...
[server_admin@power courier-authlib-0.52]$ cd courier-au...
( 途中省略 : 詳細は添付ログ参照 )
checking for expect... no
configure: WARNING: ------------------------------------...
configure: WARNING: expect not found - will not be able ...
configure: WARNING: in webmail
configure: WARNING: ------------------------------------...
checking for passwd... /usr/bin/passwd
( 途中省略 : 詳細は添付ログ参照 )
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
[server_admin@power courier-authlib-0.52]$
-- 引続き make, 更に su コマンドで root になって make-ins...
--- make 時のログ → &ref(make_log.txt);
--- make install 時のログ → &ref(make_install_log.txt);
--- make install-configure 時のログ → &ref(make_install-c...
*** courier-IMAP 4.0.0 のインストールの続き [#ncd439e0]
- rpm の作成を再開する
[server_admin@power server_admin]$ cd rpm/SPECS/
[server_admin@power SPECS]$ rpmbuild -ba courier-imap.sp...
エラー: Failed build dependencies:
courier-authlib-devel is needed by courier-imap-...
- しかし、上で苦労して courier-authlib 導入したのに、まだ...
- この際なので、--nodeps をつけて実行したら 膨大なログを...
- ログファイル → &ref(courier-IMAP-rpm_log.txt);
[server_admin@power SPECS]$ rpmbuild -ba --nodeps courie...
- su で root になって、作成した rpm を使ってインストール...
[server_admin@power SPECS]$ su
Password:
[root@power SPECS]# cd ../RPMS/i386/
[root@power i386]# ls -l
合計 420
-rw-rw-r-- 1 server_admin server_admin 421773 1月 2 2...
-rw-rw-r-- 1 server_admin server_admin 1457 1月 2 2...
*** やはり 依存関係でエラーが出てしまった [#c71e4da1]
[root@power i386]# rpm -ivh courier-imap-4.0.0-1.2.i386....
エラー: Failed dependencies:
libcourierauth.so.0 is needed by courier-imap-4....
libcourierauthsasl.so.0 is needed by courier-ima...
[root@power i386]#
- find コマンドで必要とされる 2つのファイルを検索すると...
- これは courier-authlib を rpm を使わずにインストールし...
[root@power i386]# find / -name libcourierauth.so -print
/usr/local/lib/courier-authlib/libcourierauth.so
/home/server_admin/courier-authlib-0.52/.libs/libcourier...
[root@power i386]# find / -name libcourierauthsasl.so -p...
/usr/local/lib/courier-authlib/libcourierauthsasl.so
/home/server_admin/courier-authlib-0.52/.libs/libcourier...
- 例によって、--nodeps でインストールを強行する。
[root@power i386]# rpm -ivh --nodeps courier-imap-4.0.0-...
Preparing... ############################...
1:courier-imap ############################...
[root@power i386]#
- めでたく正常にインストールが完了した ( nodeps だから当...
----
*** courier-authlib の rpm 化の検討 [#q5757329]
- courier-authlib.spec を編集して 不要な (そして rebuild ...
* procmail [#x2f50f09]
- http://www.jaist.ac.jp/~fjt/procmail.html
- http://www.cool-web.com/procsm1.html
- http://www.rcnp.osaka-u.ac.jp/Divisions/CN/computer/ibm...
- http://www.club.kyutech.ac.jp/support/manual/procmail.h...
- http://www.jp.redhat.com/manual/Doc72/RH-DOCS/rhl-rg-ja...
- http://laku19.adsl.netsonic.fi/era/procmail/links.html
** レシピの書き方 [#gfa541fe]
- ホームディレクトリに.procmailrc というファイルを置き、...
- 複数のレシピを記述することができ、一つのレシピは「:0」...
- 行頭に "#"を記述することでコメントを記述することもでき...
- レシピには大別して3つの事を記述します。
-- フラグ : Procmailにメッセージを渡す方法を指定
-- 条件文 :処理を行うメッセージを特定
-- アクション :条件に該当した場合に行う処理
*** フラグ [#u994d42e]
フラグにはメッセージを処理する際のProcmailへのメッセージ...
|H| 記述が省略された場合の動作。メッセージのヘッダだけを...
|B| メッセージの本文だけを条件文に渡し、検査する。|
|A| 同じブロックレベルに記述されたAや、aの用いられてない...
|a| Aと同様だが、手前のレシピが正しく実行された場合にだけ...
|E| Aの逆。手前のレシピが実行されなかった場合にだけ検査す...
|e| aの逆。手前のレシピが失敗した場合に検査する。|
|h| アクション部にヘッダだけを渡す。|
|b| アクション部にメッセージの本文だけを渡す。|
|f| パイプをフィルタとみなす。つまり、前処理ができる。|
|c| メッセージのコピーを残す。これがなければ、元のメール...
|w| 指定されたフィルタやプログラムが終了するまで待機し、...
|W|wと同じだが、処理に失敗しても検査する。 |
|i|あらゆる書きこみエラーを無視して検査する。 |
|hb|なにも書かない場合の動作。アクション部にメッセージの...
- フラグに続いてロックファイルを指定すると、あるメッセー...
- 指定の仕方はフラグの最後にスペースをつけて:[ロックファ...
- ロックファイル名は省略することができ、省略した場合は自...
:0 HBDhc :lock.txt
* ^HOGE
| tar zcf hoge.tar.gz
- lock.txt」があればそれをロックファイルとしてロックする。
- メールのヘッダ・本体を問わずある一行の行頭が「HOGE」で...
*** 条件文 [#w341f389]
- 条件文はフラグに続く、行頭が「*」で始まる行を指します。
- 条件は[[ 正規表現 >http://www.sixnine.net/regexp/index....
- 複数の条件文を記述することも可能で、その場合は全ての条...
条件文の記述には以下のものがあります。
|!|条件の否定。条件を満たさなかった時に実行する。|
|$|条件文に現れる環境変数をシェルの様に評価する。|
|?|指定したプログラムの終了コードを利用する。(0:成功、1...
|<|長さが後に記述されたバイト数(10進)以上であれば実行す...
| >|長さが後に記述されたバイト数(10進)以下であれば実行...
|変数名 ??|指定された値と変数を比較する。|
| \|クォートする。\/と記述することで該当個所を変数MATCHに...
- 例
HOGE=HOGEHOGE
GA=GAGAGA
CHECK=yes
:0 B : ロックファイルは省略。...
* ! ^$HOGE 行頭に「$HOGE」という...
* $ ^$GA 行頭に「GAGAGA」と書か...
* ? test -f $HOME/anti_hoge ホームディレクトリに「...
* < 5000 メッセージ本文が5000バ...
* > 4900 メッセージ本文が4900バ...
* $CHECK ?? yes 変数「CHACK」が「yes」...
* ^ADDR *\/.* 「ADDR」に続く空白文字...
| echo "$MATCH" >> anti_hoge 変数「MATCH」を「anti_...
- 例2 ( server_admin のスパム検出ロジック asof 2006-8-1...
# Only accept @[mail.]hmuna.com
:0H:
* ! ^From: .*@mail.hmuna.com
* ! ^From: .*@hmuna.com
#/dev/null
$MAILDIR/.INBOX.SPAM/cur
# Reject deception target mail
:0H:
* ^From: (support|sales|mail|root|postmaster|uucp)@hmuna...
$MAILDIR/.INBOX.SPAM/cur
# Reject title less mail
:0H:
* ^Title:$
$MAILDIR/.INBOX.SPAM/cur
***アクション [#w8064771]
全ての条件を満たした場合に実行される内容を一行で記述する。
|!|指定されたアドレスに転送。スペースで区切る事により列挙...
|||メッセージを他のプログラムに渡す。|
|{..}| メッセージにあたらしい条件文を付加したい時や、複数...
|ファイル名| メッセージをファイルに格納する。ロック指定を...
|ディレクトリ名 |メッセージにユニークなファイル名をつけて...
|ディレクトリ名/.| メッセージをディレクトリに連番形式で格...
|/dev/null| メッセージを廃棄。復元不可。|
** public_mail の設定 ( /home/publicmail/.procmailrc ) [#...
・ 最新のレシピ ----> &ref(procmail_recipi.txt);
[root@power root]# cat /home/public_mail/.procmailrc
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail
VERBOSE=ON
#
# spam assassin で SAPM を判定
#
:0 fw: spamassassin.lock
* < 256000
|/usr/bin/spamc
#
# SAPM メールの振り分け
#
# move [SPAM] marked mail to spam folder
:0
* ^Subject:.*SPAM
$MAILDIR/.spam/cur
# [SPAM] がなくてもレベルが1以はdoubtに移動
:0
* ^X-Spam-Level: [* ** *** ****]
$MAILDIR/.spam.doubt/
#
# SPAM 以外でも捨てるメールを指定
#
# delete キーマンズネット
:0
* ^From: .*news-keymans@mail.recruit.co.jp*
/dev/null
#
# Mailing List などの振り分け
#
# move CML
:0
* ^(To|Return-Path): .*@citroen*
$MAILDIR/.Message_saved.CML/
# move Cingular
:0
* ^From: .*@cingular-mail.com*
$MAILDIR/.Message_saved.cingular/
# move Nissen on-line
:0
* ^From: .*@nissen.co.jp*
$MAILDIR/.Message_saved.Shopping.Nissen/
# move Rakuten
:0
* ^From: .*rakuten.co.jp*
$MAILDIR/.Message_saved.Shopping.Rakuten/
# move Cecile
:0
* ^From: .*@cecile.co.jp
$MAILDIR/.Message_saved.Shopping.Cecile/
# move JustSystem
:0
* ^From: .*@justsystem.co.jp
$MAILDIR/.Message_saved.Shopping.JustSystem/
# move IBM
:0
* ^From: .*clubibm@*
$MAILDIR/.Message_saved.Shopping.IBM/
# move Tamamoya
:0
* ^From: .*tamamo@
$MAILDIR/.Message_saved.Shopping.Tamamo/
# move Nomura Securities
:0
* ^From: .*nomura@mail.nomura-trade*
$MAILDIR/.Message_saved.Nomura/
# Koizumi mail magazine
:0
* From: .*koizumi@mmz.kantei.go.jp*
$MAILDIR/.Message_saved.&XA9syTDhMPww6w-/
ページ名: