我/var
在一个单独的分区上,安装了noexec,nodev,nosuid
.通过 postfix 发送电子邮件不起作用,我的日志中有以下错误:
postfix: fatal: unknown service: smtp/tcp
postfix: warning: private/smtp socket: malformed response
postfix: warning: process /usr/lib/postfix/smtp pid 6569 exit status 1
postfix: warning: transport smtp failure -- see a previous warning/fatal/panic logfile record for the problem description
postfix: warning: /usr/lib/postfix/smtp: bad command startup -- throttling
当我重新安装并重新启动 postfix/var
时exec
,一切正常。
我知道这一点漏洞,但据我所知,我的后缀没有在chroot
.为什么 postfix 需要exec
权限呢/var
?
答案1
看来,postfix 的某些组件默认在 chroot 中运行(Debian Wheezy 的默认安装)。例如,以下是smtp
来自/etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp unix - - - - - smtp
当我更改-
后n
问题就消失了。