Eu tenho um servidor VPS em um webhoster que tem o sistema operacional CentOS 6.6.
Como tenho vários domínios usados por várias pessoas, esse servidor terá várias funções:
- nameserver (usando BIND) (funciona!)
- hoster de sites para vários domínios (usando Apache / MySQL) (funciona!)
- servidor de email para vários domínios (usando postfix, dovecot, vimbadmin & roundcube) (problema)
- servidor FTP por site (ainda não instalado)
Eu uso manuais / howto docs da internet para me ajudar a instalar todas as funções, já que minhas habilidades de linux não são tão fantásticas;).
Ao instalar e configurar o servidor de e-mail para vários domínios (manual: link ) tudo correu bem. As mensagens podem ser enviadas, mas a recuperação de e-mails da pasta de e-mail ( /var/vmail/
) é impossível de ser feita. Eu uso um site de roundcube como ambiente de webmail.
A mensagem de erro no arquivo /var/logs/maillog
dovecot: imap([email protected]): Error: open(/var/vmail/address.com/account/dovecot.index.log) failed: Permission denied (euid=5000(vmail) egid=5000(vmail) missing +r perm: /var/vmail/address.com/account/dovecot.index.log, euid is not dir owner)
dovecot: imap([email protected]): Error: file_dotlock_create(/var/vmail/address.com/account/dovecot-uidlist) failed: Permission denied (euid=5000(vmail) egid=5000(vmail) missing +w perm: /var/vmail/address.com/account, euid is not dir owner)
permissões em pastas / arquivos ( ls -l
)
-rw-rwx---. 1 vmail vmail 248 Feb 7 15:52 dovecot.index.log
-rw-rw----. 1 vmail vmail 24 Feb 7 16:32 dovecot.mailbox.log
-rw-rwx---. 1 vmail vmail 51 Feb 7 15:52 dovecot-uidlist
-rw-rwx---. 1 vmail vmail 8 Feb 7 16:32 dovecot-uidvalidity
-r--rwxr--. 1 vmail vmail 0 Feb 7 15:51 dovecot-uidvalidity.54d62668
permissões em pastas / arquivos ( ls -Z
)
-rw-rwx---. vmail vmail unconfined_u:object_r:var_t:s0 dovecot.index.log
-rw-rw----. vmail vmail unconfined_u:object_r:var_t:s0 dovecot.mailbox.log
-rw-rwx---. vmail vmail unconfined_u:object_r:var_t:s0 dovecot-uidlist
-rw-rwx---. vmail vmail unconfined_u:object_r:var_t:s0 dovecot-uidvalidity
-r--rwxr--. vmail vmail unconfined_u:object_r:var_t:s0 dovecot-uidvalidity.54d62668
Essas permissões são definidas pelo aplicativo dovecot depois que eu criei uma nova caixa de correio.
Algumas pesquisas extras me levam ao comando setenforce
. Ao inserir o comando setenforce 0
, posso recuperar o correio do aplicativo roundcube. Colocá-lo novamente me impede de recuperação de e-mail.
Mas o que está acontecendo aqui? Por que posso enviar mensagens do aplicativo roundcube sem problemas, mas a listagem / recuperação de mensagens de uma conta é impossível com setenforce 1
. Está relacionado ao atributo ' unconfined_u
'?
[2015-02-09] Solicitação de depuração extra solicitada
A depuração usando o comando grep -i AVC /var/log/audit/audit.log
mostra as seguintes linhas (isso é apenas a cauda -n-19 ...)
type=AVC msg=audit(1423466977.294:254776): avc: denied { write } for pid=13124 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423466977.294:254777): avc: denied { read write } for pid=13124 comm="imap" name="dovecot-uidlist" dev=dm-0 ino=149846 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.011:254782): avc: denied { read } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.011:254783): avc: denied { read } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.035:254784): avc: denied { read } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.035:254785): avc: denied { read } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.093:254786): avc: denied { read } for pid=13139 comm="imap" name="tmp" dev=dm-0 ino=415518 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.093:254787): avc: denied { write } for pid=13139 comm="imap" name="cur" dev=dm-0 ino=415516 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.093:254788): avc: denied { read write } for pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.093:254789): avc: denied { read } for pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.093:254790): avc: denied { write } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.094:254791): avc: denied { write } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.094:254792): avc: denied { read write } for pid=13139 comm="imap" name="dovecot-uidlist" dev=dm-0 ino=149846 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.206:254793): avc: denied { read } for pid=13139 comm="imap" name="tmp" dev=dm-0 ino=415518 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.207:254794): avc: denied { write } for pid=13139 comm="imap" name="cur" dev=dm-0 ino=415516 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.207:254795): avc: denied { read write } for pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.207:254796): avc: denied { read } for pid=13139 comm="imap" name="dovecot.index.log" dev=dm-0 ino=149840 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file
type=AVC msg=audit(1423467003.207:254797): avc: denied { write } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.208:254798): avc: denied { write } for pid=13139 comm="imap" name="$myaccount$" dev=dm-0 ino=149839 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=dir
type=AVC msg=audit(1423467003.208:254799): avc: denied { read write } for pid=13139 comm="imap" name="dovecot-uidlist" dev=dm-0 ino=149846 scontext=system_u:system_r:dovecot_t:s0 tcontext=unconfined_u:object_r:var_t:s0 tclass=file