
Beim Erstellen /var/mail
des Backups habe ich einen Fehler gemacht und die Berechtigungen nicht richtig kopiert.
Jetzt sehe ich die folgende Meldung in meinen Protokollen:
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
Meine /etc/exim4/conf.d/transport/30_exim4-config_dovecot
Transportkonfiguration sieht folgendermaßen aus:
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
Und Berechtigungen für das eigentliche Postfach:
/var/mail/domain.com# getfacl username
# file: username
# owner: mail
# group: mail
# flags: -s-
user::rwx
group::rwx
other::---
Ich schwanke an dieser Stelle einfach zwischen Exim und Dovecot Mans, kann aber keine gute Antwort finden. Das s
sieht ein wenig besorgniserregend aus, aber so wie ich es verstanden habe, bedeutet es einfach, dass Berechtigungen für die Gruppe vererbt werden sollten.
Ich glaube, ich muss herausfinden, wie dovecot_user
man für Dateisystembenutzer zuordnet, aber hier stecke ich fest. Es sollte „Benutzer“ heißen, mail
aber ich glaube, das ist falsch.
Irgendwelche Vorschläge, was ich lesen/überprüfen sollte?
Antwort1
Es stellte sich heraus, dass in Exim 4.94 eine gravierende Änderung im Hinblick auf die Verwaltung verdorbener Variablen eingeführt wurde.
Technisch gesehen sollte es eine Möglichkeit geben, eine Variable als verifiziert zu markieren, aber ich habe keine Zeit, das endlose und unheimlich komplizierte Handbuch zu lesen.
Daher bin ich zu einer Hack-Lösung gekommen:
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