我正在使用RHEL 6.1,我想configurationSELinux授权httpd来读取某些文件夹中的所有文件(我的目标是通过Web访问使日志文件可用)。
我需要可以持久的解决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!