我的CentOS 6.4安装后,与sendmail相关的组件设置如下:
mail:x:12:mail,postfix
在 /etc/group 中
drwx------ 2 root mail 4096 Sep 6 14:06 /var/spool/mqueue
当调用 shell 脚本发送带有附件的电子邮件时,我遇到了这些错误,但mail -s "subject" recipient < /dev/null
在命令行上不是普通邮件
Sep 6 12:46:08 localhost sendmail[3554]: NOQUEUE: SYSERR(ics): can not chdir(/var/spool/mqueue/): Permission denied
这就是我为解决问题所做的,但为什么我必须这样做,我还能做什么?这些是我的问题。
mail:x:12:mail,postfix,smmsp
在 /etc/group 中
drwxrwx--- 2 root smmsp 4096 Sep 6 14:06 /var/spool/mqueue
编辑:
更奇怪的是,CentOS 5.9 系统的设置方式与我的系统相同曾是设置工作正常,没有错误。
答案1
sendmail 二进制文件应位于组 smmsp 和 setgid 中,并且 /var/spool/mqueue 应该位于组 smmsp 中,并且组可写。
chgrp smmsp /usr/sbin/sendmail.sendmail
chmod a=rx,g+s /usr/sbin/sendmail.sendmail
chgrp smmsp /var/spool/mqueue
chmod ug=rwx,o= /var/spool/mqueue
看https://serverfault.com/questions/520531/sendmail-chdir-clientmqueue-permission-denied
至于原因——很可能是包装错误。向 Centos 开发人员报告,以便他们修复。 http://bugs.centos.org