补充说明
newaliases 用于在修改 /etc/aliases 之后重建别名数据库(通常是 /etc/aliases.db),让新的别名、邮件列表和转发规则立即生效。它等价于 sendmail -bi。
在 Postfix 系统中,该命令通常是 postalias /etc/aliases 的包装;在 sendmail 系统中由 sendmail 自身提供。Debian/Ubuntu 通过 alternatives 在 postfix 与 sendmail-bin 之间切换,因此实际执行的后端取决于安装的 MTA。
编辑 /etc/aliases 后必须运行一次 newaliases,否则 MTA 仍使用旧数据库。命令通常需要 root 权限,执行后可用 sendmail -bv 地址 验证别名展开结果。
语法
newaliases [-v]
选项
-v:输出详细信息(部分实现支持)
实例
# 编辑别名文件
sudo vi /etc/aliases
# 重建数据库
sudo newaliases
# 验证某个地址会被展开到哪里
sendmail -bv root
sendmail -bv ops@example.com
# Postfix 环境下也可直接执行
sudo postalias /etc/aliases
# 查看数据库文件时间戳
ls -l /etc/aliases.db
别名文件示例
# /etc/aliases
root: admin@example.com
ops: alice, bob
abuse: ops
postmaster: root
注意事项
- 修改别名文件后忘记重建,是邮件转发不生效的常见原因。
- 数据库文件权限与属主由 MTA 决定,不要手工编辑
.db文件。 - 别名文件语法错误可能导致 MTA 拒绝加载,执行后检查日志。