修复 postfix - 无法创建 /root/mailbox.lock

修复 postfix - 无法创建 /root/mailbox.lock

由于最近我们办公室 ISP 的政策发生了变化(不再使用 SSL 或 TLS 1.0,仅使用 TLS 1.1+),我不得不放弃 ssmtp 作为 Debian 9 工作站上的邮件中继。我重新安装了 postfix,它自动删除了 ssmtp。伟大的。但是安装时出现了一些问题,可能是由于 apparmor: postfix 无法配置,并且没有任何apt-get cleanapt-get install -f、 或dpkg -a --configure可以解决这个问题。我禁用了 apparmor,重新安装了 ssmtp,清除了 postfix,修复了依赖项,然后重新安装了 postfix。现在 postfix 会自动完成安装后配置,没有问题。伟大的。

现在的问题是 postfix 无法为来自 root 的消息创建锁定文件。这是当我尝试以 root 身份发送测试消息时在 mail.warn 中生成的错误消息:

Feb 25 10:30:56 Mephistopheles postfix/local[9195]: warning: unable to create lock file /root/mailbox.lock: Permission denied

我非常确定在我的其他 Debian 工作站上默认的假脱机目录是 /var/mail。那么,第一个问题,是假脱机目录有问题,还是邮箱目录有问题?这是组后缀对目录有权限的问题吗?我不想授予 postfix 对 /root 的 RW 权限。

我尝试设置postconf mail_spool_directory=/var/mail/and postconf home_mailbox=(null),然后运行postfix reload​​.到目前为止还没有骰子。

这是我的/etc/postfix/main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs. 
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes 
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
#restricting use to TLS 1.1+
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv11
smtp_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1
smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1
smtp_tls_protocols = !SSLv2,!SSLv3,!TLSv1
smtpd_tls_exclude_ciphers = RC4, aNULL, LOW, EXP, MEDIUM, ADH, AECDH, MD5, DSS ECDSA, CAMELLIA128,
3DES, CAMELLIA256, RSA+AES, eNULL
smtpd_tls_security_level = encrypt
smtp_tls_security_level = encrypt

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated
defer_unauth_destination
myhostname = Mephistopheles.[our domain].com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, [our domain].com,
Mephistopheles, localhost.localdomain, localhost
relayhost = [our ISP name]:25 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mail_spool_directory = /var/mail/ 
home_mailbox =

在以前的 postfix 实例(在其他机器上)上,安装是完全无缝的。尽管 apparmor 显然发挥了作用,但不确定 ssmtp/postfix 交换如何解决这个问题。

答案1

您是否已将发送给 root 的电子邮件重定向到您的非特权操作系统帐户?

http://www.postfix.org/BASIC_CONFIGURATION_README.html#notify

/etc/别名:
邮政局长:你
根:你

相关内容