최근 사무실 ISP의 정책 변경으로 인해(더 이상 SSL 또는 TLS 1.0이 없고 TLS 1.1+만 있음) Debian 9 워크스테이션의 메일 릴레이로 ssmtp를 포기해야 했습니다. postfix를 다시 설치했는데 ssmtp가 자동으로 제거되었습니다. 엄청난. 그러나 설치 중에 몇 가지 문제가 발생했습니다. 아마도 apparmor 때문일 것입니다. postfix를 구성할 수 없으며 이 문제를 해결할 수 있는 apt-get clean
, apt-get install -f
또는 가 없습니다 . dpkg -a --configure
의류를 비활성화하고, ssmtp를 다시 설치하고, postfix를 지우고, 종속성을 수정하고, postfix를 다시 설치했습니다. 이제 postfix는 아무런 문제 없이 설치 후 구성을 자동으로 완료합니다. 엄청난.
이제 문제는 postfix가 루트에서 오는 메시지에 대한 잠금 파일을 생성할 수 없다는 것입니다. 다음은 루트로 테스트 메시지를 보내려고 할 때 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이라고 확신합니다. 그렇다면 첫 번째 질문은 스풀 디렉터리나 메일함 디렉터리에 문제가 있습니까?입니다. 디렉토리에 대한 권한이 있는 그룹 접미사에 문제가 있습니까? /root에 postfix RW 권한을 부여하고 싶지 않습니다.
나는 postconf mail_spool_directory=/var/mail/
and postconf home_mailbox=
(null) 을 설정한 다음 postfix reload
지금까지 No dice를 실행해 보았습니다.
이것은 내 /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 인스턴스(다른 시스템)에서는 설치가 완전히 원활했습니다. 의류가 분명히 중요한 역할을 하지만 ssmtp/postfix 스왑이 이 문제를 어떻게 해결하는지 잘 모르겠습니다.
답변1
루트로 전송된 이메일을 권한이 없는 운영 체제 계정으로 리디렉션했습니까?
http://www.postfix.org/BASIC_CONFIGURATION_README.html#notify
/etc/별칭:
우체국장: 당신
루트: 당신