我在 Debian 8 OS 上全新安装了 postfix 和 dovecot-core dovecot-imapd dovecot-lmtpd。
我想配置邮件以与 PAM 一起工作,但我想将其限制为属于该usermail
组的用户,因此不是每个 Linux 用户都有邮件访问权限。
我还想确保以下文件配置正确。我想确保用户/密码不是以纯文本形式发送的,而是经过加密的。
我只显示了我修改过的行。对于我不确定的部分,我提出了一个问题。
dovecot/10-auth.conf
disable_plaintext_auth = yes
auth_username_chars = abcdefg....AbCdefg...0123...@
应该plain login
用于安全 SMTP 和 IMAPS 还是仅仅plain
?
auth_mechanisms = plain login
如果用于 PAM 身份验证
!include auth-system.conf.ext
dovecot/10-master.conf
所有其他的都被注释掉了,所以只有 IMAPS 可以工作。
service imap-login {
inet_listener imaps {
port = 993
ssl = yes
}
|
是postfix
正确的用户吗,或者我应该在这里使用 dovecot?
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
service auth {
我是否需要使用这个而不是 Postfix smtp-auth?
unix_listener auth-userdb {
#mode =
#user =
#group =
}
这应该是使用postfix
还是dovecot
作为用户?
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user=postfix
group=postfix
}
dovecot/10-mail.conf
可以使用 maildir 代替 Maildir 吗?电子邮件客户端或服务器使用全部小写字母会出现问题吗?
mail_location = maildir:~/Maildir
dovecot/10-ssl.conf
ssl = required
ssl_cert = /etc/dovecot/*.pem
ssl_key = /etc/dovecot/private/*.pem
我是否需要排除 !SSLv2 和 !SSLv3 来强制使用 TLS?
以下是 dovecot -n 的输出:
mail_location = maildir:~/Maildir
namespace inbox {
inbox = yes
location =
prefix =
}
passdb {
driver = pam
}
protocols = imap lmtp
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
user = postfix
mode = 0666
}
}
service imap-login {
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
user = postfix
mode = 0600
}
}
ssl = required
userdb {
driver = passwd
}
postfix/main.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_auth_only = yes
postfix/master.cf
我只是取消了这一行的注释:
submission inet n - - - - smtpd
更新:
使用此配置,我在尝试从客户端向 Gmail 帐户发送邮件时收到错误消息。我的 iPhone 也收到身份验证错误消息。用户已创建并使用输入的密码。
Warning: hostname mobile.a.b.c.d-mycingular.net does not resolve to address a.b.c.d
connect from unknown
warning: SASL: connect to private/auth failed: no such file or directory
fatal: no SASL authentication mechanisms
/usr/lib/postfix/smtpd bad command startup --throttling
答案1
dovecot/10-auth.conf
您应该同时设置 PLAIN 和 LOGIN,您的实际配置看起来不错。
dovecot/10-master.conf
其他服务就不用多说了,
ssl = required
在您的 dovecot 配置中,用户只有通过 ssl 连接才能登录。这是一种更好的方法,因为用户可能想要使用启动TLS。
对于身份验证套接字,您应该使用运行第三方服务的用户,在这种情况下,您应该将 postfix 设置为用户。
dovecot/10-mail.conf
您可以在此处设置不带大写字母的 maildir,不会出现任何问题。
dovecot/10-ssl.conf
您不会通过禁用 SSLv2 和 SSLv3 来强制使用 tls,但您会阻止用户使用 SSL。
postfix/main.cf
这部分看上去不错。
warning: SASL: connect to private/auth failed: no such file or directory
表示无法找到 dovecot 身份验证。您应该确保此目录中存在身份验证套接字文件