- 首页 >
- 问答 >
-
云计算 >
- Ubuntu邮件服务器的用户管理如何操作
Ubuntu邮件服务器的用户管理如何操作
小樊
45
2025-12-20 20:52:43
Ubuntu邮件服务器用户管理实操指南
一 管理模型与准备
- 常见两种模型:
- 系统用户模型:用系统的 /etc/passwd 账号收发邮件,邮箱通常为 Maildir 格式,配合 Postfix + Dovecot 使用,部署简单,适合小规模或测试环境。
- 虚拟用户模型:账号与系统账号解耦,统一由数据库(如 SQLite/MySQL/PostgreSQL)管理,邮箱集中存放(如 /var/vmail),更利于多域名与大规模运维,常配合 Postfix + Dovecot + PostfixAdmin 使用。
- 基础准备要点:
- 设置好 FQDN 主机名(如:mail.example.com),安装 Postfix、Dovecot,并按所选模型完成基础配置(如 Postfix 的 myhostname/mydomain/home_mailbox,Dovecot 的 mail_location/protocols)。
- 防火墙放行必要端口:SMTP 25/TCP、IMAP 143/TCP、POP3 110/TCP;生产环境建议启用 SMTP Submission 587/TCP 与 SMTPS 465/TCP 并配置 TLS。
二 系统用户模型的用户管理
- 创建用户与邮箱
- 新建系统账号:sudo adduser username(按提示设置密码与信息)。
- 邮箱目录会在首次投递时自动按 Maildir 创建(取决于 Postfix 的 home_mailbox = Maildir/ 配置)。
- 修改与查询
- 修改属性:sudo usermod -l 新名 旧名;sudo usermod -d /新/家目录 用户名;sudo usermod -s /bin/bash 用户名。
- 查询信息:getent passwd username;getent group username。
- 禁用与删除
- 禁用账号:sudo usermod –expiredate 1 username(设为已过期);恢复:sudo usermod –expiredate “” username。
- 删除账号:sudo deluser –remove-home username(同时删除家目录);如需备份:sudo deluser –backup --remove-home username;如仍有邮件 spool 残留,可手动清理:sudo rm -r /var/mail/username。
- 别名与转发
- 编辑 /etc/aliases 添加别名或转发规则,例如:admin: user1, user2;root: /dev/null(丢弃)。
- 使别名生效:sudo postmap /etc/aliases 或 sudo newaliases。
- 服务生效
- 修改后重启:sudo systemctl restart postfix;涉及 IMAP/POP3 变更时:sudo systemctl restart dovecot。
三 虚拟用户模型的用户管理
- 准备虚拟用户环境
- 创建系统投递用户与目录:sudo useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin vmail;sudo mkdir -p /var/vmail;sudo chown -R vmail:mail /var/vmail。
- 配置映射与存储路径
- 在 /etc/postfix/ 下维护虚拟域与用户映射:
- /etc/postfix/virtual_mailbox_domains:列出托管域名(如:example.com)。
- /etc/postfix/virtual:邮箱地址到系统内部地址的映射(如:user1@example.com user1@example.com)。
- /etc/postfix/virtual_mailbox:邮箱地址到邮箱文件路径的映射(如:user1@example.com /var/vmail/example.com/user1)。
- 使映射生效:sudo postmap /etc/postfix/virtual;sudo postmap /etc/postfix/virtual_mailbox_domains;sudo postmap /etc/postfix/virtual_mailbox。
- 创建虚拟用户密码
- doveadm pw -s SHA512-CRYPT -p ‘YourPassword’,将输出哈希写入 Postfix/Dovecot 的密码文件或数据库(按实际认证方式配置)。
- 配置 Dovecot 使用虚拟用户
- 典型设置:mail_location = maildir:~/Maildir(或 maildir:/var/vmail/%d/%n 形式);认证方式启用 plain login;与 Postfix 通过 SASL 对接。
- 管理工具与界面
- 建议使用 PostfixAdmin 管理多域名、多用户与配额,Web 化操作更便捷(配置数据库连接、域名/邮箱路径策略、管理员账号等)。
四 常用操作与验证
- 服务与端口检查
- 状态:sudo systemctl status postfix;sudo systemctl status dovecot。
- 监听:ss -ltnp | egrep ‘:(25|110|143|587|993|995)’。
- 本地收发测试
- 命令行:echo “Test email body” | mail -s “Test” user@example.com;或使用 telnet 连接 localhost 25 进行 SMTP 会话测试。
- 日志排查
- Postfix:sudo tail -f /var/log/mail.log;Dovecot:sudo tail -f /var/log/dovecot.log。
- 配额与大小限制
- 在 Postfix 中设置单封大小:main.cf 加入 message_size_limit = 51200000(约 50MB);如需不限制可用 0。
五 安全与运维建议
- 强制 TLS/SSL:生产环境不要长期允许明文认证;在 Dovecot 中启用 ssl = yes,禁用明文登录(disable_plaintext_auth = yes),并为 SMTP Submission 587 与 IMAPS/POP3S 993/995 配置有效证书。
- 域名与信誉
- 正确配置 MX 记录与 PTR(反向 DNS);添加 SPF、DKIM、DMARC 记录以提升到达率与可信度。
- 最小权限与隔离
- 虚拟用户与系统账号分离,邮箱目录仅由 vmail 用户可写;谨慎分配 sudo 权限,定期审计用户与别名。
- 备份与变更
- 定期备份 /etc/postfix/ 配置、/var/vmail/ 邮箱数据、以及 PostfixAdmin 数据库;变更后执行 postmap 并重启相关服务。