permissão sendmail chdir (/ clientmqueue) negada

3

Meu servidor centos pode enviar e-mails usando o comando 'mail', mas não do php. Maillog diz:

sendmail[18010]: NOQUEUE: SYSERR(nginx): can not chdir(/var/spool/clientmqueue/): Permission denied

Minhas permissões são as seguintes:

lrwxrwxrwx 1 nginx nginx 30 Oct 30 20:27 /usr/lib/sendmail -> /etc/alternatives/mta-sendmail 
lrwxrwxrwx 1 nginx nginx 21 Oct 30 20:27 /usr/sbin/sendmail -> /etc/alternatives/mta

lrwxrwxrwx 1 nginx nginx 27 Oct 30  2012 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
lrwxrwxrwx 1 nginx nginx 26 Oct 30  2012 /etc/alternatives/mta-sendmail -> /usr/lib/sendmail.sendmail

lrwxrwxrwx 1 nginx nginx     16 Oct 30  2012 /usr/lib/sendmail.sendmail -> ../sbin/sendmail
-rwxr-xr-x 1 root  smmsp 775064 Aug 11  2011 /usr/sbin/sendmail.sendmail

Para que servem todos esses links?

    
por Adripants 03.07.2013 / 15:21

3 respostas

8

Sendmail-8.12 + instalação: permissões de arquivo

Sendmail-8.12 + binário deve ser instalado como um conjunto GROUP id.
(/usr/sbin/sendmail.sendmail no seu caso)

link

-r-xr-sr-x  root   smmsp    ... /PATH/TO/sendmail
drwxrwx---  smmsp  smmsp    ... /var/spool/clientmqueue
    
por 03.07.2013 / 22:16
3

Há também uma política booleana do SELINUX chamada httpd_can_sendmail .... Tenho certeza de que isso também deve ser definido como verdadeiro.

    
por 01.10.2014 / 10:25
0

Se você herdou um sistema e deseja alterar a localização de / var / spool / mqueue para algum lugar diferente daquele e quando você modifica seu sendmail.mc e refaz o sendmail.cf ou edita o diretório sendmail.cf e você inicia o sendmail e ele reclama "Permissão negada" e nenhuma das opções acima ajuda - tente isso. Mesmo quando você tiver desativado completamente o SELINUX, etc.

Eu passei por todas as sugestões acima em vários sistemas ao longo dos anos e não importa o que o usuário é, o que o setgid está no sendmail, ou quais são as permissões e informações de propriedade em qualquer diretório eu ainda recebo o erro. Em todos os casos, descobri que era algo com a versão instalada existente do sendmail. Mesmo que seja o mais recente. Em todos os casos , pude superar o problema:

  1. faça um backup de sendmail.mc ou sendmail.cf se você não construir a partir do arquivo mc
  2. faça um backup de aliases, virtusertable, etc ... todos eles porque às vezes a reinstalação os sobrescreve (normalmente os salva, mas ...)
  3. desinstalar o sendmail (por exemplo, "yum remove sendmail -y" ou "apt remove sendmail -y")
  4. reinstale o sendmail (por exemplo, "yum install sendmail sendmail-cf -y" ou "apt install sendmail sendmail-cf -y"

A reinstalação parece corrigir o problema.

Você pode precisar atualizar / etc / sysconfig / sendmail com a localização do seu arquivo sendmail.cf com o QUEUEDIR alterado e, possivelmente, executar o "journalctl daemon-reload" para corrigir isso, então deve funcionar.

É algum tipo de problema com a versão de instalação do OEM do sendmail, como falta de usuário / grupo smmsp, etc .... mas esta é a maneira mais fácil de superar este problema em uma instalação moderna do linux.

    
por 14.10.2018 / 21:52