いくつかの場所で特殊な変数を使うことができます: - mail_location 設定 - ネームスペースの場所 - 静的 userdb テンプレートの文字列 - LDAP と SQL userdb のクエリー文字列 - login/imap/pop3 プロセスログの最初の文字列 変数は以下の通りです: %u - ユーザ名 %n - user@domain での user 部分。ドメインがない場合は %u と同じになります。 %d - user@domain での domain 部分。ドメインがない場合は空になります。 %h - ホームディレクトリ %s - サービス (IMAP, POP3, smtp, deliver (残念だが大/小文字が混ざっている)) %p - カレントのプロセスの PID (login もしくは imap/pop3 プロセス) %l - ローカルの IP アドレス %r - リモートの IP アドレス %w - plaintext 認証のときの平文パスワード %i - ユーザのシステム UID それぞれの変数で修飾子を使うことができます(例 %Ls は pop3 のように): %L - 小文字 %U - 大文字 %E - "'" と '"' と '¥' の文字の前に '¥' 文字を置くことによりエスケープする SQL クエリ中では、この変数値は自動的にエスケープするので、この修飾子を 使用する必要はありません。 %R - 文字列を逆順にする %H - 変数を 32bit ハッシュをして、 16 進で返します。ハッシュ値を制限すること もできます。例えば、 %256Hu は 0 から ff の値になります。同様に十の位を 0で埋めたいならば、 %2.256Hu にすれば 00 から ff の値になります。例えば、 複数のユーザを自動的に複数のパーティションに別けるときなどに、とても 役に立ちます。もし user@domain の形でユーザ名をハッシュ化するのでした ら、多分ハッシュ値の多様性を重視するために、%4RHu のようにして、文字列 を逆順にしたいでしょう。 %M - MD5 サムの文字列を返します。 %D - "sub.domain.org" を "sub,dc=domain,dc=org" として返します(LDAPのクエリー で使います)。 '%' 文字の後に '.' とその文字幅をオフセットに続けて与えると、変数の部分文字列 を切り取ることができます。例えば、 %2u はユーザ名の最初の2文字になり、%2.1u はユーザ名の3番目の文字になります。 もしオフセットの値が負であれば、文字の後ろから数えられます。例えば、 %-2.2i であった場合は、100で割った余りになります(UIDの最後の2文字が表示されます)。も し、正の値でオフセットの値を外れた場合は、空の文字列が返され、負の値でオフセッ トの値を外れた場合は、最初からの文字列が返されます。 もし、値の指定の初めに 0 がついていた場合は、文字列は切り詰められず、文字数が が短くなった場合に 0 が埋められます。例えば、 %04i だった場合、 "0001", "1000", "12345" が返ります。同じ条件で、 %1.04i だった場合は、 "001", "000", "2345" が 返ります。 dovecot-auth のために、以下の変数が用意されています: %m - 認証の種類 (例 PLAIN) %c - SSL や TLS や localhost での接続で、保証された文字列。もしくは空になり ます。 login_log_format_elements のために、以下の変数が用意されています: %m - 認証の種類 (例 PLAIN) %a - ローカルポート %b - リモートポート %c - SSL もしくは TLS もしくは空