使用“postfix”用户访问“dovecot”

使用“postfix”用户访问“dovecot”

我设置了 Postfix,以便我的邮箱(maildir 格式)我的虚拟用户的设置如下:

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> ls -l /var/mail/
total 4
drwxr-sr-x 5 postfix postfix 4096 Dec  2 12:27 pistam.eu

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> ls -l /var/mail/domain.eu/
total 12
drwx--S--- 5 postfix postfix 4096 Dec  2 12:10 user_1
drwx--S--- 5 postfix postfix 4096 Dec  1 22:35 user_2

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> ls -l /var/mail/domain.eu/user_1/
total 12
drwx--S--- 2 postfix postfix 4096 Dec  2 12:27 cur
drwx--S--- 2 postfix postfix 4096 Dec 13 15:17 new
drwx--S--- 2 postfix postfix 4096 Dec 13 15:17 tmp

现在我正在设置 Dovecot 服务器 (IMAPS/SASL),我想使用系统用户将管理所有 Postfix 虚拟用户的所有邮箱。我看到许多文章中管理员创建用户的方式vmail如下:

# useradd -r -m -d /home/vmail vmail

并通过设置这两行将其用作默认的 Dovecot 用户/etc/dovecot/conf.d/10-master.conf

mail_access_groups = vmail
default_login_user = vmail

但在我的案例中,该postfix小组“设置 ID”位,这意味着这些文件夹将始终被用户操作postfix

那么创建用户有什么意义呢vmail?为什么不直接使用postfixDovecot 的用户来做这件事呢?这样做有什么风险吗?Dovecot 安装程序还创建了这两个用户:

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> cat /etc/passwd | grep dove
dovecot:x:112:118:Dovecot mail server,,,:/usr/lib/dovecot:/usr/sbin/nologin
dovenull:x:113:119:Dovecot login user,,,:/nonexistent:/usr/sbin/nologin

为什么不使用其中之一?配置文件中还有以下两个提示/etc/dovecot/conf.d/10-master.conf

# Login user is internally used by login processes. This is the most untrusted
# user in Dovecot system. It shouldn't have access to anything at all.
#default_login_user = dovenull

# Internal user is used by unprivileged processes. It should be separate from
# login user, so that login processes can't disturb other processes.
#default_internal_user = dovecot

答案1

这是关注点分离原则,它具有安全方面的好处。

当您将传递邮件的责任交给 dovecot 之后,这不再是 postfix 的责任,因此 postfix 不需要该访问权限。

相关内容