1.3.3. 准备 Dovecot 以使用虚拟用户
默认情况下,Dovecot 以使用服务的用户的身份对文件系统执行许多操作。但是,将 Dovecot 后端配置为使用一个本地用户来执行这些操作有以下几点好处:
- Dovecot 以特定的本地用户身份执行文件系统操作,而不使用用户的 ID (UID)。
- 用户不需要在服务器上本地提供。
- 您可以将所有邮箱和特定于用户的文件存储在一个根目录中。
- 用户不需要 UID 和组 ID (GID),这可以减少管理工作。
- 有权访问服务器上文件系统的用户无法破坏其邮箱或索引,因为它们无法访问这些文件。
- 设置复制很简单。
先决条件
- Dovecot 已安装。
流程
创建
vmail用户:# useradd --home-dir /var/mail/ --shell /usr/sbin/nologin vmailDovecot 之后将使用此用户来管理邮箱。出于安全考虑,请不要为此使用
dovecot或dovenull系统用户。如果您使用与
/var/mail/不同的路径,请对其设置mail_spool_tSELinux 上下文,例如:# semanage fcontext -a -t mail_spool_t "<path>(/.)?"* # restorecon -Rv <path>仅将
/var/mail/的写权限授予vmail用户:# chown vmail:vmail /var/mail/ # chmod 700 /var/mail/取消
/etc/dovecot/conf.d/10-mail.conf文件中mail_location参数的注释,并将其设置为 mailbox 格式和位置:mail_location = sdbox:/var/mail/%n/使用这个设置:
-
Dovecot 在
single模式下使用高性能dbox邮箱格式。在此模式下,服务将每个邮件存储在单独的文件中,类似于maildir格式。 -
Dovecot 将路径中的
%n变量解析为用户名。这需要确保每个用户对其邮箱都有一个单独的目录。
-
Dovecot 在