O gnarwl é de longe o melhor auto-reply disponível, bastante customizável e o melhor é que usa LDAP e é facilmente integrado com o Postifx.
Lembrando que se você tem o plugin ‘vacation’ no squirrelmail ele não vai ter incompatilidade, uma vez que setando a auto-resposta no squirrelmail vai sobrescrever os dados colocados originalmente no LDAP manualmente ou pelo phamm ou pelo GOsa2, ou seja, tranquilo :)
Não vou discutir aqui como instalar o gnarwl, pois para isso vou fazer outro post.
Esse post é específico em criar uma política que permita o Postfix “conversar” com o gnarwl, ou seja, vai permitir que o Postfix envie a mensagem, via BCC ao gnarwl e este verificará se o campo vacationActive está como TRUE.
Criando o arquivo com as regras
Primero, crie o arquivo que contém as regras para o gnarwl, chamando-o de gnarwl.te e com o seguinte conteúdo:
Arquivo gnarwl.te
module gnarwl 1.0;
require {
type var_lib_t;
type postfix_postdrop_t;
type postfix_local_t;
type sendmail_exec_t;
class unix_stream_socket { read write getattr };
class file { execute read lock create execute_no_trans write getattr };
class dir { write search add_name };
}
#============= postfix_local_t ==============
allow postfix_local_t sendmail_exec_t:file { read execute execute_no_trans };
allow postfix_local_t var_lib_t:dir { write add_name };
allow postfix_local_t var_lib_t:file { read lock getattr write create };
#============= postfix_postdrop_t ==============
allow postfix_postdrop_t postfix_local_t:unix_stream_socket { read write getattr };
Vou explicar algumas linhas.
Linha 7 e 14: o postfix tem que ter permissão para executar o sendmail, pois quando o email é encaminhado para o usuário gnarwl (é um usuário local do Linux) ele auto-responde a mensagem para quem enviou, por isso essa regra é necessária.
Linhas 8 e 19: ao acessar o arquivo .forward do home do gnarwl, tem o comando que faz um pipe para o executável do gnarwl, essa linha é |/usr/bin/gnarwl, por isso o postfix precisa dessa permissão.
Compilando as regras
Com o arquivo criado, é necessário compilar as régras e instalar a nova política.
checkmodule -M -m -o gnarwl.mod gnarwl.te
O resultado do comando será algo parecido com:
checkmodule: loading policy configuration from gnarwl.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 6) to gnarwl.mod
semodule_package -o gnarwl.pp -m gnarwl.mod
Se tudo for Ok, não haverá resultado de saída.
semodule -i gnarwl.pp
Se tudo for Ok, não haverá resultado de saída.
Verificando a instalação
O comando semodule -l lista todos os módulos instalados, veja que o novo módulo gnarwl 1.0 está instalado.
semodule -l |grep gnarwl gnarwl 1.0
Se algum problema ocorreu no processo, comente sua dúvida.




Comentários
Comentários fechados para visitantes. Entre ou registre-se para comentar.
Uma resposta para “SELinux: Política que permite o Postfix ‘conversar’ com o gnarwl”
Pra chegar no arquivo com as regras, que é igual a da primeira listagem do seu post, dá pra fazer com o comando:
cat /var/log/audit/audit.log | audit2allow -a -r > gnarwl.te
Tá certo que vai manda todos denied do selinux, mas dá pra ir apagando as liberações que não serão usadas.
Valeu