サーバーを介して電子メールを中継したいクライアントが単一のパスワードを提供する必要があるようにEximを設定してみました。ファイルには、/etc/exim4/conf.d/auth/30_exim4-config_examples
次のようにコメント化された構成行が含まれています。
# plain_server:
# driver = plaintext
# public_name = PLAIN
# server_condition = "${if crypteq{$auth3}{${extract{1}{:}{${lookup{$auth2}lsearch{CONFDIR/passwd}{$value}{*:*}}}}}{1}{0}}"
# server_set_id = $auth2
# server_prompts = :
# .ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
# server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
# .endif
ここで何が起こっているのか、完全に理解しているのか分かりません。
例にはユーザー名とパスワードのプロンプトが含まれていますが、なぜ空ですか
server_prompts
?login_server
ここにパスワードを入力するように求められませんか?パスワードは実際にどこに設定されていますか?
私はクライアントとサーバー間の通信を保護するためにTLSを使用する予定です。私が理解しているように、上記のコードスニペットの最後の3行は、AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
TLSが有効または設定されている場合にのみ認証方法が宣伝されるようにします。
答え1
そのままにすると、server_prompts
基本(RFC互換)動作が提供されます。それ以外の場合は、異なる値を提供するためにクライアントを変更する必要があります。
CONFDIR/passwd
パスワードはDebianCONFDIR
と同様にファイルで検索されます。/etc/exim4
すべてのユーザーに共通のパスワードを使用させますか?その後、次のように変更できますserver_condition
。
server_condition = ${if {eq{$auth3}{mysecret}{yes}{no}}
素晴らしいexim文書をチェックしてください。ここ