Você pode configurar uma regra para permitir que httpd_t
leia o tipo de arquivo com o qual seus arquivos de log estão rotulados.
Por exemplo, se eu quiser que httpd_t
seja capaz de ler your_log_file_type_t
, você criará um módulo de política como este (fora de minha mente). Chame de apache_read_logs.te e coloque-o em um diretório vazio:
policy_module(apache_read_logs, 1.0)
type httpd_t;
type your_log_file_type_t;
type your_log_dir_type_t;
allow httpd_t your_log_dir_type_t:dir list_dir_perms;
read_files_pattern(httpd_t, your_log_dir_type, your_log_file_type)
read_lnk_files_pattern(httpd_t, your_log_dir_type, your_log_file_type)
Isso permite que httpd_t
leia arquivos com o nome your_log_file_type_t
e pesquise em diretórios com o nome your_log_dir_type_t
. Usa macros para brevidade. Você pode ver como as macros se parecem baixando e examinando o tarball da política de referência .
Então, do diretório em que você criou o arquivo, você executa, como root:
# make -f /usr/share/selinux/devel/Makefile
# /usr/sbin/semodule -i apache_read_logs.pp
Isso pressupõe que você tenha o selinux-policy-devel e o policycoreutils instalados. Teste isso em uma máquina não crucial primeiro! Eu escrevi este cego e não testei eu mesmo!