Ubuntu日本語フォーラム
ログインしていません。
お世話になっております。
現在Postfixの設定をしておりますが、SMTP認証のところでハマってしまっています。どなたか詳しい方がいまいたらご教授願います。
OSは、Ubuntu 9.10 (先日アップグレードしたばかり)
postfixは、Postfix 2.6.5
SMTP認証にはsaslを使用していまして、SASL2を使っています。
インストールしたものはapt-getで、postfixと、SASL関係のモジュールなど(libsasl2-modulesとsasl2-bin)です。それ以上は入れていません。
設定も至ってシンプル(な方)だと思うのですが、smtpで25とsmtpsで465を開けてやっています。
認証のテストで、
# /usr/sbin/testsaslauthd -u username -p password [Enter]
というコマンドでは認証に成功するのですが、telnetでSMTPを叩くとインターネット側からもlocalhost側からもユーザー名は受け入れてもらえるのですが、パスワードで認証してくれません。認証にはbase64エンコードも文字列でplainとloginの両方で試しましたがダメでした。エラーは、authentication failed: generic failureになっています。参照するパスワードファイルがないという感じでしょうか?
ログを見ますと、
Jan 4 13:41:35 localhost postfix/smtpd[7013]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory Jan 4 13:41:35 localhost postfix/smtpd[7013]: warning: SASL authentication failure: Password verification failed Jan 4 13:41:35 localhost postfix/smtpd[7013]: warning: localhost[127.0.0.1]: SASL plain authentication failed: generic failure
のようになっていました。そもそもsaslauthdに接続されていない…とのことなんですが、接続の方法をいろいろ調べてみましたが、/etc/default/saslauthdファイルのOptionでソケットを設定するというような感じだと思います。現在OPTIONS="-c -m /var/run/saslauthd"で設定しています。
話が前後してしまいますが、SMTP認証ではsaslauthdに全部投げてplainとloginの認証をしようと思っています。メールサーバーも独自ドメインといくつかのバーチャルドメインでメールのやりとりができればよいという程度でそれほど複雑な設定は想定していません。
認証方法の設定で/etc/postfix/sasl/smtpd.conf内で、pwcheck_method: saslauthdという設定があるのですが、ここがpwcheck_method: pwcheckなんじゃないか?とか、pwcheck_method: auxpropなんじゃないかとかいろいろやってみましが不毛に終わりました。
またsaslauthd起動時に-a pamや-a shadowなどのオプションをつけて起動するんんじゃないか?という情報もありましたがうまくいきませんでした。僕の知りうる範囲でいろいろやってみましたが、以前として認証不可の状態です。
もし詳しい方がいましたら設定方法を教えてください。
よろしくお願いします。
オフライン
ヒョッとすると
参考ページ: http://uayeb.com/?page_id=183
の postfixを/var/spool/postfix にchroot のくだりの問題では無いですか?
オフライン
siさん、いつもお世話になってます。
chroot問題を試してみました。結果、
535 5.7.8 Error: authentication failed: generic failure
から
535 5.7.8 Error: authentication failed: authentication failure
に変わりました(汗)。解決してないです(汗)。しかし、認証されていない…ということになっていて認証の機構自体は動いているのかな…と思いました。
これまでにはっきりわかったことは、# /usr/sbin/testsaslauthd -u username -p *****でもって認証に成功しているのは、saslauthdとPAMの接続に成功しているということで、telnetで不成功に終わるのはpostfixとsaslauthdの接続がうまくいっていないということらしいです。
まるっきり違う設定で、/etc/sasldb2にユーザー名とパスワードを入れてPAMしない方法をとってみたのですが、そのファイルを見に行ってくれませんでした。postfixとsaslauthdの関係というか…postfixがsaslauthdのどこを見に行ってくれているかという設定は、/etc/postfix/main.cf内の、
smtpd_sasl_auth_enable = yes
という箇所と、
/etc/postfix/sasl/smtpd.conf内の
pwcheck_method: saslauthd
ぐらいしか(私自身は)理解していなくて、
saslauthdの設定は、/etc/default/saslauthdの中での、
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
OPTIONS="-c -m /var/run/saslauthd"
という末尾の箇所ぐらいが肝だと思っているのですが、どうでしょうか?
Postfixとsaslauthdの通信で、ソケットを作る方法が紹介されていましたが全く理解できていないので試してみるには敷居が高いのですが、
# sudo /usr/sbin/dpkg-statoverride --add root sasl 710 /var/spool/postfix/run/saslauthd
というのがありました。グループsaslにpostfixユーザーを加えてアクセスの権限を与えてやればよいらしいのですが、これもchrootに関係している話でしょうか?どこら辺りから切り分けたらよいのかわかれば手がかりは掴めるような気がしているのですが…。
オフライン
私もいつも、見よう見まねで、サーバは立ち上げているので、よくわかりません。
サーバで、ubuntuを使う場合、私のいつもの手順としては、
https://help.ubuntu.com/community/Postfix
等の、Ubuntuのコミュニティーのページと、検索で引っかかるUbuntu/Debianの日本語ページを比較しながらゴニュゴニュするくらいです。
問題が出たときには、まずは、ログを見ます。
あと、Ubuntuの場合、Apparmorに引っかかることがあるので、そのログも確認します。
(messagesとauditのログに出てるはずです)
オフライン
siさん、返信遅くなってすみません。
教えていただいたURLがとても参考になりました。ありがとうございます。送信できるところまでは殆ど設定が終わりました。
しかし、ログの見方がよくわからず、messageのログはいくつか見れましたが、Apparmorには何も書き込まれていませんでした。これからの勉強のためになのですが、postfixやsendmailなどMTAからのメール送信に関連するログはどの辺りを見たらようでしょうか?
オフライン
あ、すみません。追伸です。
現在Postfixから送信できるようになりましたが、telnetなどから直接postfixを叩いて送信しています。bashなどを使ってmailコマンドから送信するとプロンプトが固まってしまって帰ってきません。たぶんMTAの選択がうまくいっていないんじゃないかと予想しているのですが、Ubuntuではどこで選択設定するのでしょうか?
以前僕はFedoraを使用していましたが、その時のコマンド(/usr/sbin/alternatives --config mta)を入れたら、そういうディレクトリもファイルもありません…ということでした。。。
オフライン
>たぶんMTAの選択が
Redhat系の設定になれていると、チョット面食らいますけど、
debian系の設定だと、postfixをインストールすると、
自動的にMTAはpostixに切り替えられるのではないでしょうか?
以前、ubuntuで、postfix使ったときにそれらしい操作をした記憶がありません。
>Apparmor
Apparmorに引っかかるアプリは、 ls /etc/apparmor.d 以下にプロファイルが有ります。
postfixは、/etc/apparmor.d/program-chunks/postfix-common がプロファイルのようです。
>ログ
mailのログは、通常の /var/log/mail.* 。
apparmorのログは、messagesとkern.log に出てますので、
"sudo cat /var/log/messages | grep audit"
で見ます。拒否のログは、SELinux同様、”denied” でフィルタかければ引っかかると思いました。
参照: https://wiki.ubuntu.com/AppArmor
オフライン
si による投稿:
>たぶんMTAの選択が
Redhat系の設定になれていると、チョット面食らいますけど、
debian系の設定だと、postfixをインストールすると、
自動的にMTAはpostixに切り替えられるのではないでしょうか?
以前、ubuntuで、postfix使ったときにそれらしい操作をした記憶がありません。
…面くらいました。。。明示的に設定できないんですね。。逆にいうとpostfixを選んでしまったらその後はpostfixでMTAが動き出すんですね。。。現在設定が不安定でおかしなことになっているので、何とかしなくては!です。
Linuxはだいたい同じようなものだろう…と思っていましたが、ここ最近いろいろと違う部分が見えてきました。
si による投稿:
>Apparmor
Apparmorに引っかかるアプリは、 ls /etc/apparmor.d 以下にプロファイルが有ります。
postfixは、/etc/apparmor.d/program-chunks/postfix-common がプロファイルのようです。
>ログ
mailのログは、通常の /var/log/mail.* 。
apparmorのログは、messagesとkern.log に出てますので、
"sudo cat /var/log/messages | grep audit"
で見ます。拒否のログは、SELinux同様、”denied” でフィルタかければ引っかかると思いました。
参照: https://wiki.ubuntu.com/AppArmor
詳しい情報ありがとうございます。ログを参考に数日間でなんとかpostfix復旧させようと思っています。また何か投稿することと思いますのでよろしくお願いします。
オフライン