SELinux阻止的进程的日志记录存放在/var/log/audit/audit.log文件中,但是该文件中的内容用户阅读体验很差,可以去cat /var/log/audit/audit.log看看,因此系统为我们提供了sealert工具,帮助我们整理该日志文件,sealert工具处理日志文件的时候需要花费一点时间,请耐心等待。
另外SELinux的日志功能需要auditd.service服务的开启。
结合案例(apache SELinux配置)来了解sealert工具:
1.确保本机配置了httpd服务并处于开启状态,httpd服务配置方法请参考:Apache部署httpd服务 https://www.linuxidc.com/Linux/2018-05/152278.htm
2./usr/sbin/httpd命令会开启进程去读取/var/www/html/目录下以.html结尾的文件,现在在家目录下创建文件~/index.html,随意编写内容,之后把新创建的文件移动至/var/www/html/下。
3.我们通过浏览器,在地址栏输入本机IP,查看成功与否,当出现如下界面的时候表示访问失败。
4.我们在配置服务的时候确定了没有问题,这时候我们要想到可能是SELinux阻止了我们访问。我们通过命令
sealert -a /var/log/audit/audit.log
查看SELinux日志,我们找到httpd的关键字,阅读内容,下图中的内容是我们主要关注的部分,其他则是/var/log/audit/audit.log的内容,我们可以忽略。最后我们优先考虑改动最小的解决方案,即修改SELinux标签。
5.执行命令restorecon -v /var/www/html/index.html,就是修改该文件为httpd能够访问的默认标签
6.再用浏览器访问查看结果,这次成功。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx