POSTLOGD(8) POSTLOGD(8)
名称
postlogd - Postfix 内部日志服务
概述
postlogd [通用 Postfix 守护进程选项]
描述
当 maillog_file 配置参数设为非空值时,本程序将代表 Postfix 各组件记录事件日志。
已知问题
非守护进程的 Postfix 程序在完成命令行选项和 main.cf 参数解析前,无法识别应使用内部日志服务。这些程序的早期事件仍会记录到系统日志(syslog)服务。
当 Postfix 服务停止时,以下非守护进程程序:postfix(1)、postsuper(1)、
postmulti(1) 和 postlog(1) 会直接写入 $maillog_file。这些程序通常需要以 root 权限运行,例如在 Postfix 启动、重载或关闭过程中。
其他非守护进程的 Postfix 程序永远不会直接写入 $maillog_file(此外,输出到 stdout 会影响部分程序的正常运行)。这些程序在以下情况可记录到 postlogd(8) 服务:
- 由超级用户执行
- 可执行文件具有 set-gid 权限
注意:仅限以下程序可设置此权限:
postdrop(1)、postqueue(1) 以及 (Postfix ≥ 3.7 版本) postlog(1)
配置参数
修改 main.cf 后不会立即生效,因为 postlogd(8) 仅在达到 max_idle 超时限制后才会终止。建议执行 "postfix reload" 命令使变更立即生效。
以下仅列出参数摘要,完整说明及示例请参阅 postconf(5):
config_directory (参见 'postconf -d' 输出)
Postfix 配置文件 main.cf 和 master.cf 的默认存储目录
maillog_file (空值)
由 Postfix postlogd(8) 服务写入的日志文件路径(可选)
process_id (只读)
当前 Postfix 命令或守护进程的进程 ID
process_name (只读)
当前 Postfix 命令或守护进程的进程名称
syslog_name (参见 'postconf -d' 输出)
系统日志记录中进程名前缀,例如 "smtpd" 会显示为 "prefix/smtpd"
service_name (只读)
当前 Postfix 守护进程在 master.cf 中定义的服务名称
postlogd_watchdog_timeout (10秒)
postlogd(8) 进程处理单个请求的最大耗时,超时将被看门狗定时器终止
(Postfix 3.9 及以上版本新增):
maillog_file_permissions (0600)
日志文件 $maillog_file 的初始权限设置,也适用于日志轮换后新建的文件
参见
postconf(5), 配置参数详解
syslogd(8), 系统日志服务
说明文档
使用 "postconf readme_directory" 或 "postconf html_directory" 命令获取文档路径
MAILLOG_README, Postfix 日志记录到文件或标准输出的配置指南
授权条款
本软件需遵循 Secure Mailer 许可证条款分发
历史版本
本服务首次发布于 Postfix 3.4 版本
作者
Wietse Venema
Google, Inc.
美国纽约州纽约市第八大道111号
邮编:10011
Wietse Venema
porcupine.org
POSTLOGD(8)