Ошибка с разрешениями отправки почты с Apache + PHP без изменения разрешения на 777 - PullRequest
3 голосов
/ 15 марта 2012

Я не могу заставить sendmail работать с apache + php, если я не изменил разрешение на 777 для /var/spool/clientmqueue.

Владение / var / spool / clientmqueue

drwxrwxrwx 2 smmsp mail 4096 Jul 19 11:50 clientmqueue

Я перепутал группы пользователей для smmsp и apache.

id apache
uid=48(apache) gid=48(apache) groups=48(apache),12(mail)

id mail
uid=12(mail) gid=12(mail) groups=12(mail),48(apache)

SELinux отключен

getsebool httpd_can_sendmail
getsebool: SELinux is disabled

В почтовом журнале, если я установил разрешение для папки 770

NOQUEUE: SYSERR(apache): can not write to queue directory
/var/spool/clientmqueue/ (RunAsGid=48, required=12): Permission denied

Почта не будет отправлена, и я получу ошибку от php.

Если я установлю папку на 0777, то вместо этого я получу это в почтовом журнале

dangerous permissions=40776 on queue directory /var/spool/clientmqueue/

Но php будет отправлять письма нормально.

Можно ли заставить его работать с 0770 и читать apache в группе для почты. Я знаю, что ошибка - получение основного GID apache 48, но он также разделяет группу 12.

Любая помощь будет потрясающей.

Ответы [ 2 ]

1 голос
/ 09 февраля 2016

Этот сделал свое дело для меня. У меня были другие ошибки, прежде чем я попадал на Ubuntu. Позвольте мне поделиться этим на случай, если кто-то столкнется с ними. Я получал NOQUEUE: SYSERR (www-data): невозможно chdir (/ var / spool / mqueue-client /): разрешение запрещено.

usermod -a -G smmsp www-data
chmod 770 /var/spool/mqueue-client     (don't use 775, it gives dangerous permission error in the log)
service apache2 restart (this is required for the above to take effect)
Now sending email gives a different error.
- NOQUEUE: SYSERR(www-data): can not write to queue directory /var/spool/mqueue-client/
- chmod 4555 /usr/sbin/sendmail
- Above command fixed the email issue. => didn't see any error in the mail.log this time.
1 голос
/ 28 ноября 2012

У меня сегодня была такая же проблема (и я пришел сюда в поисках ответа).

В конце концов я нашел этот обзор ;Выполнение следующей команды из этого списка устранило проблему для меня:

chmod 4555 /usr/sbin/sendmail

Это устанавливает специальный режим setuid в двоичном файле sendmail, предположительно позволяя Apache отправлять почту как пользователь почты.

(я перезапустил и демоны apache и sendmail после запуска этого, хотя я не уверен, какой из этих действительно нуждался в перезапуске) эта проблема в первую очередь, однако ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...