橋本です。 今、会社なので、時間を割けないのと記憶が曖昧なのですいませんが kmailでこのメールサーバはこの認証を使えるよと知らせてくれる機能があるので、そ れを信じて使っていました。 コマンドラインで試すにはDigest-MD5はPerlのDigest::MD5モジュールで 生成して試した記憶があります。 base64と大して変わらないやり方です。 細かいつっこみになっちゃいますが、 * /etc/sasldb2はパスワードが入ってるところなので他人が覗けない 640のほうがいいと思います。 * rcpostfixという事はSuSEのYaST経由で入れてないんですかね? smtpは各サーバをリレーするからSSL,TLSのメリットないので 個人的にはどうでもいいと思ってます。 メールの暗号化のほうが確実だと思いますよ。 ----- Original Message -----
From: "tezuka akio"
To: Date: Tue, 20 Dec 2005 16:14:05 +0900 Subject: Re: [suse-linux-ja] SASLの設定ができません。 橋本さん、リプレイありがとうございました。
頂いたアドバイス通りマニュアルを読み返していましたが、設定自体はどこと言って おかしな所は無く、そこは初心者の悲しさで Postfix の再起動を 「/etc/init.d/post fix restart」 でし ていました。 これでは設定が読み込まれていないのではと考え 「rcpostfix restart」 で Postfixをスタートしたところ以下のように動作いたしました。 ただし疑問点として、MD5などが本当に動作しているのかな...?付きです。 今回はTLS、SSLなどは考えずにしています。
/etc/postfix/main.cf smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination smtp_sasl_auth_enable = no smtpd_sasl_auth_enable = yes #smtpd_sasl_application_name = smtpd #smtpd_sasl_local_domain = $myhostname smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes (Outlook対策) #smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
/usr/lib/sasl2/smtpd.conf pwcheck_method: saslauthd #pwcheck_method: pwcheck #pwcheck_method: auxprop #pwcheck_method: sasldb2 #auxprop_plugin: sasldb2 #mech_list: plain login mech_list: cram-md5 digest-md5 plain login
# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 yukari.ne.jp ESMTP Postfix EHLO ドメイン.jp 250-ドメイン.jp 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN 250-AUTH=CRAM-MD5 DIGEST-MD5 LOGIN PLAIN 250 8BITMIME QUIT 221 Bye Connection closed by foreign host.
# saslpasswd2 -c -u ドメイン.jp ユーザー名 Password: Again (for verification): # sasldblistusers2 ユーザー名@ドメイン.jp: userPassword
sasldb2 のグループと postfix から見れるようにアクセス権を変更 # ls -l /etc/sasldb2 -rwxr-xr-x 1 root root 12288 Dec 20 15:55 /etc/sasldb2
sasldb2 # chgrp mail /etc/sasldb2 # chmod 644 /etc/sasldb2 # ls -l /etc/sasldb2 -rw-r--r-- 1 root mail 12288 Dec 20 15:55 /etc/sasldb2
perl -MMIME::Base64 -e 'print encode_base64("ユーザー名¥ユーザー名¥0パスワー ド");' bmVrbwBuZWtvAGNoaXBvbmVrbw==
# telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 ドメイン.jp ESMTP Postfix EHLO ドメイン.jp 250-ドメイン.jp 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN 250-AUTH=CRAM-MD5 DIGEST-MD5 LOGIN PLAIN 250 8BITMIME auth plain bmVrbwBuZWtvAGNoaXBvbmVrbw 535 Error: authentication failed auth plain bmVrbwBuZWtvAGNoaXBvbmVrbw== 235 Authentication successful QUIT 221 Bye Connection closed by foreign host.
///////////////// テズカ アキオ /////////////////
----- Original Message ----- From: "橋本 崇紘"
To: Sent: Saturday, December 17, 2005 10:17 PM Subject: Re: [suse-linux-ja] SASLの設定ができません。 みなさん、はじめまして 7.2あたりからSuSE一筋な隠れSuSEファンの橋本です。
メールがEUCで送られてきてるので別のメーラで送信し直したほ うが いいと思います。
SASL2の設定ですが、自分自身はSASL1しか試した事がないのです が。。。
たぶん、すでに見てると思いますが、ここに詳細な設定方法が載ってい ます。 /usr/share/doc/packages/postfix/README_FILES/SASL_README
ざっと、見た感じではほぼこの設定方法通りにしていると思います。 ただ、smtp_*はpostfixが他のメールサーバへリレーする 時の設定なので 今回はコメントアウトしてデフォルト設定のままにしたほうがいいとか もです。 なので、smtp_sasl_passwd_mapsはコメントアウトしていいと思 います。
saslpasswd2は/etc/sasldb2をデフォルトで作成しますが、 $ls -l /etc/sasldb2 -rw-r----- 1 root root 12288 2005-12-17 21:33 /etc/sasldb2 こんな感じでrootしか見れないようになってます。
なので、postfixがファイルを見れるように
/etc/group mail:x:12: -> mail:x:12:postfix
chgrp mail /etc/sasldb2
$ls -l /etc/sasldb2 -rw-r----- 1 root mail 12288 2005-12-17 21:33 /etc/sasldb2 とすればsasldb2を見れるようになると思います。
的外れかもしれないですが、がんばってください。
-- For additional commands, email: suse-linux-ja-help@suse.com
-- For additional commands, email: suse-linux-ja-help@suse.com