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 /别名显示:

 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 

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

所以你应该做下面的事情

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

然后改变你的别名

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

否则,您可以始终禁用sendmail的smrshfunction,但我不build议这样做