Sendmail 问题:无法执行 /etc/mail/smrsh:权限被拒绝

Sendmail 问题:无法执行 /etc/mail/smrsh:权限被拒绝

向别名发送邮件时,出现以下错误:

mail.err 显示:

Jan 26 13:02:44 sm-mta[4816]: p0QD2fZW004812: SYSERR(root): Cannot exec /etc/mail/smrsh: Permission denied
Jan 26 13:02:44 sm-mta[4815]: p0QD2fZW004812: to="|/usr/bin/dspam --user global --class=spam --source=error", ctladdr=<[email protected]> (8/0), delay=00:00:01, xdelay=00:00:00, mailer=prog, pri=38439, dsn=4.0.0, stat=Operating system error

我的 /etc/mail/aliases 显示:

spam:                   "|/usr/bin/dspam --user global --class=spam --source=error"

我确信这是一个权限问题,但我真的不知道从哪里开始查找。我尝试了各种方法,但似乎都无法解决问题。我还可以查看哪些其他信息来找出问题所在?

不幸的是,这不是那些简单的问题之一,所以我的问题可能有点模糊。

更新:ls -la /etc/mail/smrsh

total 8
drwxr-sr-x 2 root  root  4096 2011-01-24 14:14 .
drwxr-sr-x 9 smmta smmsp 4096 2011-01-26 14:54 ..
lrwxrwxrwx 1 root  mail    14 2011-01-24 14:14 dspam -> /usr/bin/dspam
lrwxrwxrwx 1 root  mail    26 2011-01-19 19:54 mail.local -> /usr/lib/sm.bin/mail.local
lrwxrwxrwx 1 root  mail    17 2011-01-19 19:54 procmail -> /usr/bin/procmail

答案1

为了使二进制文件能够被smrsh激活的 sendmail 执行,您需要在 smrsh 目录中添加一个链接(至少在 RedHat 中)

因此你应该做以下事情

cd /etc/smrsh
ln -s /usr/bin/dspam dspam

然后将别名更改为

spam:                   "|dspam --user global --class=spam --source=error"

否则,您可以随时禁用 sendmail 的 smrsh 功能,但我不建议使用此选项

相关内容