1.2.3. 准备 Dovecot 以使用虚拟用户


默认情况下,Dovecot 以使用服务的用户的身份对文件系统执行许多操作。但是,将 Dovecot 后端配置为使用一个本地用户来执行这些操作有以下几点好处:

  • Dovecot 以特定的本地用户身份执行文件系统操作,而不使用用户的 ID (UID)。
  • 用户不需要在服务器上本地提供。
  • 您可以将所有邮箱和特定于用户的文件存储在一个根目录中。
  • 用户不需要 UID 和组 ID (GID),这可以减少管理工作。
  • 有权访问服务器上文件系统的用户无法破坏其邮箱或索引,因为它们无法访问这些文件。
  • 设置复制很简单。

先决条件

  • Dovecot 已安装。

流程

  1. 创建 vmail 用户:

    # useradd --home-dir /var/mail/ --shell /usr/sbin/nologin vmail

    Dovecot 之后将使用此用户来管理邮箱。出于安全考虑,请不要为此使用 dovecotdovenull 系统用户。

  2. 如果您使用与 /var/mail/ 不同的路径,请对其设置 mail_spool_t SELinux 上下文,例如:

    # semanage fcontext -a -t mail_spool_t "<path>(/.)?"*
    # restorecon -Rv <path>
  3. 仅将 /var/mail/ 的写权限授予 vmail 用户:

    # chown vmail:vmail /var/mail/
    # chmod 700 /var/mail/
  4. 取消 /etc/dovecot/conf.d/10-mail.conf 文件中 mail_location 参数的注释,并将其设置为 mailbox 格式和位置:

    mail_location = sdbox:/var/mail/%n/

    使用这个设置:

    • Dovecot 在 single 模式下使用高性能 dbox 邮箱格式。在此模式下,服务将每个邮件存储在单独的文件中,类似于 maildir 格式。
    • Dovecot 将路径中的 %n 变量解析为用户名。这需要确保每个用户对其邮箱都有一个单独的目录。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部