Dovecot_delivery トランスポートは maildir に書き込めません

Dovecot_delivery トランスポートは maildir に書き込めません

バックアップを作成しているときに/var/mail失敗し、権限を適切にコピーしませんでした。

ログに次のメッセージが表示されます。

2023-09-17 03:10:26 1qhiB0-000Jx1-CI == [email protected] 
R=dovecot_user T=dovecot_delivery defer (-1): 
Tainted '/var/spool/mail/domain.com/username' 
(file or directory name for dovecot_delivery transport) not permitted

私の/etc/exim4/conf.d/transport/30_exim4-config_dovecotトランスポート構成は次のようになります:

dovecot_delivery:
     driver = appendfile
     maildir_format = true
     directory = /var/spool/mail/$domain/$local_part
     create_directory = true
     directory_mode = 0770
     mode_fail_narrower = false
     message_prefix =
     message_suffix =
     delivery_date_add
     envelope_to_add
     return_path_add
     user = mail
     group = mail
     mode = 0660
     allow_symlink = true

実際のメールボックスに対する権限:

/var/mail/domain.com# getfacl username
# file: username
# owner: mail
# group: mail
# flags: -s-
user::rwx
group::rwx
other::---

現時点では、exim と dovecot の間で迷っているところですが、良い答えが見つかりません。これはs少し心配ですが、私の理解では、単にグループの権限を継承する必要があることを示しているだけです。

ファイルシステム ユーザーをどのようにマップするかを調べる必要があると思いますがdovecot_user、ここで行き詰まっています。ユーザーであるはずですmailが、間違っているようです。

何を読んで/確認したらよいか、何か提案はありますか?

答え1

汚染された変数の管理に関して、Exim 4.94 で重大な変更が導入されたことが判明しました。

技術的には、変数を検証済みとしてマークする方法があるはずですが、終わりのない、不気味なほど複雑なマニュアルを読む時間はありません。

そのため、私はハッキーな解決策に行き着きました:

dovecot_delivery:
     driver = appendfile
     maildir_format = true
     create_directory = true
     directory_mode = 0770
     directory = ${lookup mysql{SELECT CONCAT('/var/mail/',domains.fqdn, '/', mailboxes.local_part) AS directory FROM domains,mailboxes WHERE \
                   mailboxes.local_part='${quote_mysql:$local_part}' AND \
                   mailboxes.active=1 AND \
                   mailboxes.domain_id=domains.id AND \
                   domains.fqdn='${quote_mysql:$domain}' AND \
                   domains.active=1}}

     mode_fail_narrower = false
     delivery_date_add = true
     envelope_to_add = true
     return_path_add = true
     group = mail
     mode = 0660
     allow_symlink = true

関連情報