Postfix Adminのパスワードバリデーションで困ったTips


システム部の山田です。

メールサーバーにPostfixを利用している場合、
バーチャルドメインやメールアカウントをGUIで簡単に管理できる「Postfix Admin」

サーバー管理者だけでなく、自宅でちょこっとメールサーバーを立てた方も利用されてるんじゃないかと思いますが、
このツールでメールアカウントを作成するとき、ちょっと困ったことがあったのでメモ。

Postfix Adminを使ってあるドメインにメールアカウントの追加をしようと思ったとき、
分け合って4桁くらいのすごくシンプルなパスワードを追加する必要があったのですが
なんと「5文字のパスワードにしろ」なんてエラーを吐かれました。

postfixadmin

あれ???Postfixでそんな制限入れたっけ????
こりゃPostfix Adminで引っかかってんのかな???
と思って「Postfix Admin パスワード 制限」とか調べてみるも、あまりいい情報は出ず。。。
という訳で地道にPostfix Adminの設定ファイルを調べてみます。

設定ファイルは以下

[Document root]/postfixadmin/config.inc.php

このファイルの中央にこんなものが

// Password validation
$CONF['password_validation'] = array(
#    '/regular expression/' => '$PALANG key (optional: + parameter)',
    '/.{5}/'                => 'password_too_short 5',      # minimum length 5 characters
    '/([a-zA-Z].*){3}/'     => 'password_no_characters 3',  # must contain at least 3 characters
    '/([0-9].*){2}/'        => 'password_no_digits 2',      # must contain at least 2 digits
);

いかにもですね。
正規表現でパスワードのバリデーションルールを一つずつ作って、
配列で複数設定できるようになっています。

デフォルトでは上から
・5文字以上
・英字(大文字 or 小文字)を3文字以上
・数字を2文字以上
というルールですね。
正規表現の説明についてはこちら

ではこの中で必要のない部分を変更&コメントアウトしてやります。

// Password validation
$CONF['password_validation'] = array(
#    '/regular expression/' => '$PALANG key (optional: + parameter)',
    '/.{4}/'                => 'password_too_short 4',      # minimum length 3 characters ←今回は4文字にしとく
#    '/([a-zA-Z].*){3}/'     => 'password_no_characters 3',  # must contain at least 3 characters ←これはコメントアウト
#    '/([0-9].*){2}/'        => 'password_no_digits 2',      # must contain at least 2 digits ←これもコメントアウト
);

これでパスワードバリデーションの変更ができました。
PHPファイルの編集なのでApacheの再起動なんかは必要ありません。

もっと細かいメールサーバーの設定でお悩みの方、
メールサーバーの管理なんてしてらんない!!という方は是非こちらから丸投げしてください!!!


この記事をかいた人

About the author