ACL / MAC Permissões para dovecot e postfix no CentOS 7

3

Estou usando este tutorial para configurar Postfix e Dovecot em um servidor web CentOS 7 . Mas quando tento enviar um email de teste usando sudo echo "TEST" | mail -s "testmail" newuser@localhost && sudo tail -f /var/log/maillog , recebo um erro indicando que o Dovecot não tem permissões para criar o diretório para armazenar o email. Como faço para configurar permissões para Dovecot e Postfix para poder funcionar corretamente em CentOS 7 ?

Eu sou novo em linux . Eu sei sobre adduser , chmod , chown , octal permissions e outros comandos, mas não sei como eles se aplicam a esse requisito específico e não quero criar coisas ineficazes experimentando sem entender .

Aqui está a parte mais relevante da mensagem de erro:

Error: user import: Initialization failed: Namespace '':  
mkdir(/home/import/Maildir) failed:  
Permission denied (euid=1001(import) egid=1001(import)  
missing +w perm: /home/import, UNIX perms appear ok (ACL/MAC wrong?))

Aqui está a mensagem de erro completa:

Dec 30 19:03:42 mydomain postfix/pickup[8093]: A22E78221C13: uid=1000 from=<anotherusername>
Dec 30 19:03:42 mydomain postfix/cleanup[8121]: A22E78221C13: message-id=<[email protected]>
Dec 30 19:03:42 mydomain postfix/qmgr[8094]: A22E78221C13: from=<[email protected]>, size=463, nrcpt=1 (queue active)
Dec 30 19:03:42 mydomain dovecot: lda(newusername): Error: user newusername: Initialization failed: Namespace '': mkdir(/home/newusername/Maildir) failed: Permission denied (euid=1001(newusername) egid=1001(newusername) missing +w perm: /home/newusername, dir owned by 0:0 mode=0755)
Dec 30 19:03:42 mydomain dovecot: lda(newusername): Fatal: Invalid user settings. Refer to server log for more information.
Dec 30 19:03:42 mydomain postfix/local[8123]: A22E78221C13: to=<[email protected]>, orig_to=<newusername@localhost>, relay=local, delay=0.15, delays=0.06/0.02/0/0.07, dsn=4.3.0, status=deferred (temporary failure)

EDITAR:

Em seguida, executei sudo chown -R newusername:newusername /home/newusername e, em seguida, novamente repeti sudo echo "TEST" | sudo mail -s "testmail" newuser@localhost && sudo tail -f /var/log/maillog , mas ainda recebi o seguinte erro:

Dec 30 20:42:29 mydomain postfix/qmgr[8094]: E0DF28221C14: from=<[email protected]>, size=463, nrcpt=1 (queue active)
Dec 30 20:42:29 mydomain dovecot: lda(newusername): Error: user newusername: Initialization failed: Namespace '': mkdir(/home/newusername/Maildir) failed: Permission denied (euid=1001(newusername) egid=1001(newusername) missing +w perm: /home/newusername, UNIX perms appear ok (ACL/MAC wrong?))
Dec 30 20:42:29 mydomain dovecot: lda(newusername): Fatal: Invalid user settings. Refer to server log for more information.
Dec 30 20:42:29 mydomain postfix/local[8531]: E0DF28221C14: to=<[email protected]>, orig_to=<newusername@localhost>, relay=local, delay=1101, delays=1101/0.02/0/0.06, dsn=4.3.0, status=deferred (temporary failure)
Dec 30 20:45:40 mydomain postfix/pickup[8529]: CF3CB80B33C4: uid=0 from=<root>
Dec 30 20:45:40 mydomain postfix/cleanup[8551]: CF3CB80B33C4: message-id=<[email protected]>
Dec 30 20:45:40 mydomain postfix/qmgr[8094]: CF3CB80B33C4: from=<[email protected]>, size=455, nrcpt=1 (queue active)
Dec 30 20:45:40 mydomain dovecot: lda(newusername): Error: user newusername: Initialization failed: Namespace '': mkdir(/home/newusername/Maildir) failed: Permission denied (euid=1001(newusername) egid=1001(newusername) missing +w perm: /home/newusername, UNIX perms appear ok (ACL/MAC wrong?))
Dec 30 20:45:40 mydomain dovecot: lda(newusername): Fatal: Invalid user settings. Refer to server log for more information.
Dec 30 20:45:40 mydomain postfix/local[8553]: CF3CB80B33C4: to=<[email protected]>, orig_to=<newusername@localhost>, relay=local, delay=0.15, delays=0.08/0.02/0/0.05, dsn=4.3.0, status=deferred (temporary failure)

RESPOSTA:

Este problema foi devido ao SELinux. Eu resolvi o problema por sudo nano /etc/sysconfig/selinux e depois defini SELINUX=disabled . Isso é aceitável durante o desenvolvimento. Uma solução mais completa será configurar uma regra do SELinux que permita que o postfix e o dovecot funcionem antes que isso entre em produção.

Nota: Set-Hundred-and-Quarenta e Dois sugestão de que eu verifique o status SELinux, por isso estou marcando o seu como a resposta correta.

    
por CodeMed 31.12.2014 / 01:21

1 resposta

2

A chave está aqui: failed: Permission denied (euid=1001(newusername) egid=1001(newusername) missing +w perm: /home/newusername, dir owned by 0:0 mode=0755

O Dovecot está tentando gravar em /home/newusername/{whatever your maildir is} como newusername: newusername, no entanto, o diretório é de propriedade do usuário 0: 0 (root). Como o modo de permissão é 755, somente o proprietário tem permissões + w

Além disso, certifique-se de que, se estiver usando o SELinux, suas ACLs permitem que o dovecot grave em seu maildir

    
por 31.12.2014 / 01:34