Centos 6.3 PERL CGI selinux 文件读取访问

Centos 6.3 PERL CGI selinux 文件读取访问

我有一个名为 index.cgi 的 CGI 脚本

它正在尝试读取路径10.128.0.242.2012.sep.20.downloaded.txt下名为/var/log/trafcount/

看起来它被 selinux 阻止了。

审计日志显示类似

类型 = AVC 消息 = 审核(1348158321.873:1472116):avc:拒绝 { 读取 } pid = 11620 comm =“index.cgi”名称 =“10.128.0.242.2012.sep.20.downloaded.txt”dev = dm-0 ino = 395264 scontext = unconfined_u:system_r:httpd_sys_script_t:s0 tcontext = unconfined_u:object_r:var_log_t:s0 tclass = file

我如何允许该脚本完全访问 /var/log/trafcount 下的所有文件?

答案1

一种方法是使用“chcon”命令,如下所示:

chcon -Rv --type=httpd_sys_content_t /var/log/trafcount

这样,您就可以在重启后访问,但不能在 SELinux 重新标记后访问。从长远来看,我建议创建一个自定义类型并在 SELinux 中为其创建规则,以便 /var/log 和 Apache 都可以愉快地继续使用它。

来源:http://wiki.centos.org/HowTos/SELinux(里面有很多关于 CentOS 下的 SELinux 的精彩内容)

相关内容