禁用httpd的SELinux文件读取保护

我正在使用RHEL 6.1,我想configurationSELinux授权httpd来读取某些文件夹中的所有文件(我的目标是通过Web访问使日志文件可用)。

  • 这可能没有明确列出所有文件?
  • 这可能没有禁用SELinux的httpd?

我需要可以持久的解决scheme。

感谢提前。

您可以设置一个规则来允许httpd_t读取您的日志文件标记的文件types。

例如,如果我想要httpd_t能够读取your_log_file_type_t ,就像这样创build一个策略模块(在我的脑海之外)。 调用它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文件并search标有your_log_dir_type_t 。 它使用macros来简洁。 您可以通过下载和检查参考策略tarball来查看macros如何查看。

然后,从您创build文件的目录中,以root身份运行:

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

假设你已经安装了selinux-policy-devel和policycoreutils。 先在非关键的机器上testing一下! 我写了这个盲人,并没有自己testing!