Como permitir que o cron envie um anexo de email?

1

O SELinux está impedindo o cron de anexar um arquivo de log no email com o seguinte erro:

notice kernel [ 7148.923034] type=1400 audit(1359466501.857:5): avc: denied { read } for pid=3182 comm="mailx" name="attachment" dev="dm-1" ino=4140 scontext=system_u:system_r:system_mail_t:s0-s0:c0.c1023 tcontext=system_u:object_r:var_log_t:s0 tclass=file

Um script bash é executado pelo cron a cada hora para enviar um arquivo de log por e-mail, se não estiver vazio. O script contém a seguinte linha:

echo "" | mailx -s "Critical Message" -a /var/log/attachment [email protected]

Eu acho que o problema tem a ver com o contexto de segurança de arquivos. Eu li em algum lugar que definir o contexto para conteúdo público pode ajudar, mas não tenho certeza se é uma boa ideia ou se há uma abordagem melhor.

    
por Question Overflow 29.01.2013 / 15:32

1 resposta

0

Você tem três opções (bem, três que eu posso pensar agora):
1. Arquive um bug e espere por uma atualização no pacote de políticas que permita isso.
2. Altere o contexto do arquivo que você está tentando anexar para que o SELinux permita que ele seja anexado.
3. Coloque o SElinux no modo permissivo, para que ele registre o fato de que deseja negar essa ação, mas isso não impedirá que isso aconteça.

Cada opção tem desvantagens, algumas talvez significativas, portanto, o caminho que você tomar será altamente dependente do seu ambiente.

    
por 29.01.2013 / 15:44