初めましてkeeleと申します。
おやじさまのサイトを参考にさせていただいて
VirtualDomain対応のPostfix、Courier-IMAPを導入し
PostfixAdminにてメールアドレスの追加、SMTP-Authの確認などはすませてあります。(authdaemon)
Maia Mailguard 1.0.2をhttp://www.aconus.com/~oyaji/centos/maia_centos4.4.htm
を参考に(Vine4.1ですが)インストールさせました。
スーパー管理者を登録した後、PostfixAdminで登録したユーザにて
ログインを試みると、
1) 普通にログインできて、日本語状態である
2) ログインできるが英語になっていて設定で変更後問題なし
3) 英語のログイン画面に切り替えるとログインでき、設定変更後は日本語で問題なし
4) 全くログインできない
の4種類のユーザがいます。(現在36ユーザ、1ユーザ、1ユーザ、1ユーザの4ドメイン)
既存のメールサーバと置き換えの予定で、現在MXレコードは登録されていません。
何かしら手がかりはありますでしょうか?
宜しくお願いいたします。
今日も色々触ってみたのですが、Maia Mailguardにログインできないユーザはpopアクセスもできないようです。
但し、PostfixAdminではログインできます。
また正常にログインできPOPもできるユーザのパスワードと同一に設定
するとMaiaもPopもOKになります。
User1:Pass1 -> OK
User2:Pass2 -> NG
の場合
User2:Pass1 => OK
両方まとめてですが・・・。
> スーパー管理者を登録した後、PostfixAdminで登録したユーザにて
> ログインを試みると、
> 1) 普通にログインできて、日本語状態である
> 2) ログインできるが英語になっていて設定で変更後問題なし
> 3) 英語のログイン画面に切り替えるとログインでき、設定変更後は日本語で問題なし
> 4) 全くログインできない
> の4種類のユーザがいます。(現在36ユーザ、1ユーザ、1ユーザ、1ユーザの4ドメイン)
> 既存のメールサーバと置き換えの予定で、現在MXレコードは登録されていません。
全て、同じパソコンで操作してませんか?
ロジックを追っかけてはいませんので、はっきりしたことは言えませんが、全くの新規なら2のはずです。3は良くわかりません。1は一度ログインしているとこうなったと思います。
> 今日も色々触ってみたのですが、Maia Mailguardにログインできないユーザはpopアクセスもできないようです。
maiaはpopでログインできることを持ってログイン許可をしているので、これは当然ですね。
> 但し、PostfixAdminではログインできます。
> また正常にログインできPOPもできるユーザのパスワードと同一に設定
> するとMaiaもPopもOKになります。
> User1:Pass1 -> OK
> User2:Pass2 -> NG
> の場合
> User2:Pass1 => OK
これは、過去に一度だけおやじも経験がありますが、maiaの問題ではなくPostfixAdminでパスワードを再設定することでログインできるようになっただけです。
一見、パスワードがクロスで有効になっているような書き方をされていますが、そうではなくUse2を改めてPass2で設定すれば直るはずです。当然Pass1ではログインできなくなります。
レス有り難うございます。
> 全て、同じパソコンで操作してませんか?
> ロジックを追っかけてはいませんので、はっきりしたことは言えませんが、全くの新規なら2のはずです。3は良くわかりません。1は一度ログインしているとこうなったと思います。
確かにすべて同じPCで操作しています。正確な数字は覚えていないのですが、全部で39アカウント登録しようとして、
1) 3程度 2) 5程度 3) 1 4) 残り30程度 と言う比率です。
ただ、ご指摘の通り2)でもMySQLのデータはenになっていました。
> これは、過去に一度だけおやじも経験がありますが、maiaの問題ではなくPostfixAdminでパスワードを再設定することでログインできるようになっただけです。
> 一見、パスワードがクロスで有効になっているような書き方をされていますが、そうではなくUse2を改めてPass2で設定すれば直るはずです。当然Pass1ではログインできなくなります。
User2にPass2を再設定は試みているんです。
PostfixAdminにて何回かUser2にPass1とPass2を再設定し、
MaiaとPostfixAdmin一般ユーザログインを試すも
Pass2に設定したときだけダメだったんです。
幸か不幸か、ログインできるユーザも出来ないユーザも沢山あるので
明日色々試してみます。
# Maia Mailguardの問題でなくて、PostfixAdminの問題かな? (^^ゞ
# 意外と、apacheかmysqlの設定だったり。
登録時に正しい(?)パスワードが格納されていないようなので
(何故かPostfixAdminでは認証される)
関係ないとは思いつつ、mbstring周りを触っていました。
何回もパスワードを変更しているとたまにpopやmaiaで通るようになるんです。
これはcrypt周りかな?と思いソースを追ってみると
functions.inc.php 622行目付近のpacrypt()で
------------------------------
if ($CONF['encrypt'] == 'md5crypt')
{
$split_salt = preg_split ('/\$/', $pw_db);
if (isset ($split_salt[2])) $salt = $split_salt[2];
$password = md5crypt ($pw, $salt);
}
------------------------------
------------------------------
if ($CONF['encrypt'] == 'md5crypt')
{
// $split_salt = preg_split ('/\$/', $pw_db);
// if (isset ($split_salt[2])) $salt = $split_salt[2];
$password = crypt ($pw);
// $password = md5crypt ($pw, $salt);
}
------------------------------
と大胆に変更してみました。(^^ゞ >>確かcryptは第二を取らないとmd5cryptのはずなので
すると何事もなかったように正常(?)に動き出したのですが・・・
おやじさまの環境では問題ないとなると環境依存なのでしょうか。
apacheもphpもmailもなにもエラー吐いて居なかったんですよね。
この対応でセキュリティ上問題ないのでしょうか?
pacrypt()で呼び出している自前のmd5crypt()は難解すぎて読めません。
上の投稿はPostfixAdminの話です。(読み直して自分で分からなかった)
#別の質問もあるのですが、別スレッド起こします。
$password = crypt ($pw);
ではなくて
$password = crypt ($pw, $pw_db);
でないとPostfixAdminにログインできませんね。(^^ゞ
> 登録時に正しい(?)パスワードが格納されていないようなので
> (何故かPostfixAdminでは認証される)
> 関係ないとは思いつつ、mbstring周りを触っていました。
> 何回もパスワードを変更しているとたまにpopやmaiaで通るようになるんです。
> これはcrypt周りかな?と思いソースを追ってみると
> functions.inc.php 622行目付近のpacrypt()で
> ------------------------------
> if ($CONF['encrypt'] == 'md5crypt')
> {
> $split_salt = preg_split ('/\$/', $pw_db);
> if (isset ($split_salt[2])) $salt = $split_salt[2];
>
> $password = md5crypt ($pw, $salt);
> }
> ------------------------------
> ------------------------------
> if ($CONF['encrypt'] == 'md5crypt')
> {
> // $split_salt = preg_split ('/\$/', $pw_db);
> // if (isset ($split_salt[2])) $salt = $split_salt[2];
> $password = crypt ($pw);
> // $password = md5crypt ($pw, $salt);
> }
> ------------------------------
> と大胆に変更してみました。(^^ゞ >>確かcryptは第二を取らないとmd5cryptのはずなので
> すると何事もなかったように正常(?)に動き出したのですが・・・
これは逆に環境依存なのです。
単にCRAM-MD5で使うときの設定ミスではないですか?
courier-imapのほうのレスを見てください。
> おやじさまの環境では問題ないとなると環境依存なのでしょうか。
> apacheもphpもmailもなにもエラー吐いて居なかったんですよね。
クライアント側でcram-md5を使わなければ何も問題ありません。
> これは逆に環境依存なのです。
環境依存と申し上げたのは「私の」環境が変なのかな?と言う意味です。(^^ゞ
pacrypt()を元に戻し色々試したところ、当初
PostfixAdminのconfig.inc.phpで
$CONF['encrypt'] = 'md5crypt';
maia mailguardのconfig.phpで
$auth_sql_password_type = "crypt";
に設定されていたのを
$CONF['encrypt'] = 'system'; (PostfixAdmin)
$auth_sql_password_type = "crypt"; (Maia Mailguard)
に変更すると新規作成ユーザでログインできて、popもできました。
しかし何故かPostfixAdminのログインができません。
それなら逆に
$CONF['encrypt'] = 'md5crypt'; (PostfixAdmin)
$auth_sql_password_type = "md5"; (Maia Mailguard)
でいけるのかな?と思ったのですが、新規作成ユーザでダメでした。
error_reporting(E_ALL);噛ましてやってみたのですが、
さっぱり両方とも吐かないんです。
#メールでのご対応ありがとうございました。
PostfixAdminのBugTrackerに
http://sourceforge.net/tracker/index.php?func=detail&aid=1694669&group_id=191583&atid=937964
こんな報告が上がっていました。
真偽の程は私には分からないのですが、この改変をすれば
> $CONF['encrypt'] = 'system'; (PostfixAdmin)
> $auth_sql_password_type = "crypt"; (Maia Mailguard)
で問題ないようです。
PostfixAdmin の CRYPT まわりですが、私も同じようなトラブルを抱えていました。config.inc.php で、
$CONF['encrypt'] = 'md5crypt';
に設定して、アクセスは出来るのですが、パスワードを変更した途端にアクセスできなくなります。
php.ini の設定も眺めてはみたものの、他に変な影響が出るのもイヤだったので、
$CONF['encrypt'] = 'system';
に修正して、全ソース(〜.php)から、password が関係するテーブル、mailbox や admin にSELECT、INSERT、UPDATE しているところのソース、仮に create-mailbox.php の 133行目、
$password = pacrypt($fPassword);
をコメントし、次行
$result = db_query ("INSERT INTO mailbox (username,password,name,maildir,quota,domain,created,modified,active) VALUES ('$fUsername','$password','$fName','$maildir','$quota','$fDomain',NOW(),NOW(),'$fActive')");
の '$password' を、ENCRYPT('$fPassword') に変更、
// $password = pacrypt($fPassword);
$result = db_query ("INSERT INTO mailbox (username,password,name,maildir,quota,domain,created,modified,active) VALUES ('$fUsername',ENCRYPT('$fPassword'),'$fName','$maildir','$quota','$fDomain',NOW(),NOW(),'$fActive')");
したところ、問題なくアクセスできるようになりました。パスワードの変更後ログアウト、ログインしなおしも問題ありませんでした。
まったく根拠が無い私の勝手な思い込みですが、php側のCRYPT暗号化と、MySQL側のCRYPT暗号化のアルゴリズムの違いなのかいな?と今は無事何事もなかったかのように過ごしています。