![Sendmail 问题:无法执行 /etc/mail/smrsh:权限被拒绝](https://linux22.com/image/537081/Sendmail%20%E9%97%AE%E9%A2%98%EF%BC%9A%E6%97%A0%E6%B3%95%E6%89%A7%E8%A1%8C%20%2Fetc%2Fmail%2Fsmrsh%EF%BC%9A%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
向别名发送邮件时,出现以下错误:
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 功能,但我不建议使用此选项