Назад | Перейти на главную страницу

Отключить защиту от чтения файлов SELinux для httpd

Я использую RHEL 6.1, и я хотел бы настроить SELinux для авторизации httpd для чтения всех файлов в некоторых папках (моя цель - сделать файлы журналов доступными через Интернет).

Мне нужно решение, которое можно было бы сделать постоянным.

Заранее спасибо.

Вы можете настроить правило, разрешающее httpd_t чтобы прочитать тип файла, которым помечены ваши файлы журналов.

Например, если я хочу httpd_t уметь читать your_log_file_type_t, вы создаете такой модуль политики (из глубины моей головы). Назовите его apache_read_logs.te и поместите в пустой каталог:

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)

Это позволяет httpd_t читать файлы с пометкой your_log_file_type_t и выполните поиск в каталогах с пометкой your_log_dir_type_t. Для краткости используются макросы. Вы можете увидеть, как выглядят макросы, загрузив и изучив архив справочной политики.

Затем из каталога, в котором вы создали файл, вы запускаете как root:

# make -f /usr/share/selinux/devel/Makefile
# /usr/sbin/semodule -i apache_read_logs.pp

Предполагается, что у вас установлены selinux-policy-devel и policycoreutils. Сначала проверьте это на неважной машине! Я написал это вслепую и сам не тестировал!