Como criar o diretório Maildir com permissões suficientes para o Postfix?

6

Eu tenho o CentOS 5.5 com o Postfix instalado nele. Desejo usar o agente de entrega local com a configuração padrão, mas quero que ele armazene e-mails com caixas de correio de estilo Diretório Maildir .

Quando eu defino as caixas de correio para serem armazenadas (como padrão) em:

mail_spool_directory = /var/spool/mail/

E eu manualmente criei o maildir, então é assim:

[root@dx2200 /]# ls -lah /var/spool/mail/
total 32K
drwxrwxr-x  4 root  mail 4.0K Mar 15 15:01 .
drwxr-xr-x 13 root  root 4.0K Mar 15 14:33 ..
drwxr-xr-x  5 root  root 4.0K Mar 15 14:52 marshra
drwxr-sr-x  5 pedro mail 4.0K Mar 15 15:01 pedro
[root@dx2200 /]# 
[root@dx2200 /]# ls -lah /var/spool/mail/pedro/
total 40K
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 .
drwxrwxr-x 4 root  mail 4.0K Mar 15 15:01 ..
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 cur
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 new
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:03 tmp
[root@dx2200 /]#

E então tento enviar e-mails para o usuário local pedro , a mensagem não está sendo entregue e meu /var/log/maillog diz:

Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: maildir access problem for UID/GID=1014/1014: error writing message: Permission denied
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: perhaps you need to create the maildirs in advance
Mar 15 15:11:00 dx2200 postfix/local[4266]: 8D5D11310056: to=<[email protected]>, orig_to=<pedro>, relay=local, delay=0.04, delays=0.02/0.01/0/0.01, dsn=5.3.0, status=bounced (maildir delivery failed: error writing message: Permission denied)

Eu tive um problema parecido com o agente de entrega virtual , e a alteração de virtual_mailbox_base de /var/spool/vmail para o diretório inicial /home/vmail ajudou. Eu tenho que fazer isso também com o agente de entrega local ? E SE SO - por que não consigo armazenar e-mails em /var/spool ?

    
por malloc4k 15.03.2012 / 15:26

5 respostas

5

Editar: resposta completamente reescrita de acordo com comentários

O problema pode estar relacionado ao SELinux. Você pode executar, e. sestatus para verificar se está ativado ou desativado.

Para a entrega de maildir, o postfix muda para o usuário correspondente, portanto, o diretório de destino precisa ser gravável pelo usuário. Este parece ser o caso. Por motivos de privacidade, sugiro chmod -R o-rwx /var/spool/mail/*

Apenas para completar: Se forem usados arquivos mbox, o diretório de spool precisa ser gravável pelo grupo mail que você obtém usando chmod -R g+rwX /var/spool/mail .

    
por 15.03.2012 / 16:09
0

Eu tive o mesmo erro com os diretórios do usuário em um subdir que tinha as permissões erradas. Por exemplo, o diretório inicial de "user1" era /home/subdir/user1 . E o subdir não tinha permissões de execução para "outros".

chmod 755 /home/subdir

resolveu o problema para mim. Os diretórios de usuários ainda estão com permissões "700".

A mensagem de erro foi enganosa porque a permissão negada não estava no diretório do usuário, mas em um diretório acima dela.

    
por 30.12.2013 / 01:54
0

Eu tenho tido exatamente esse mesmo problema no CentOS 7. Depois de horas tentando entender. Eu desliguei o SELinux e funcionou. Então a questão é certamente SELinux.

Para ver se o tipo de imposição é: getenforce

Para desativá-lo completamente, basta digitar: setenforce 0

    
por 30.09.2014 / 19:22
0

suas permissões:

drwxr-sr-x 2 pedro mail xxxx cur,new,tmp

apenas pedro (você) pode escrever, mail (servidor) só pode ler.

  1. alterar usuário para e-mail,
  2. chmod 700
  3. tente novamente
por 17.01.2015 / 00:08
0

Acabei de acompanhar o mesmo problema até o postfix não conseguir lidar com as ACL estendidas no diretório / home.

Havia uma entrada da ACL explicitamente permitindo que um usuário listasse e a percorresse por meio de um grupo específico. Mas eu tive que adicionar o = x à lista apenas para deixar o posix ir.

    
por 29.02.2016 / 20:09