> Linux教程 > linux基础 >

教你分析SELinux日志以排除SELinux疑难的方法

在Linux中,SELinux 可以会拒绝某个文件、进程或资源被访问,产生这种情况的原因,无外乎以下几个方面:
1,一个被错误标签的文件
2,一个进程在错误的 SELinux 安全性脉络下运行
3,政策出错。某个进程要访问一个在编写政策时意料不到的文件,并产生错误信息
4,一个入侵的企图。
前三条我们可以处理,第四条不在计划内。

安装setroubleshoot 组件。
在centos 5中安装:
 

复制代码代码示例:
yum install setroubleshoot

(https://fedorahosted.org/setroubleshoot)

在出现问题时,分析SELinux的日志文件,是个好习惯。
SELinux 缺省会通过 Linux 审计系统(auditd)将日志写在 /var/log/audit/audit.log 内,而这项务服缺省为启用的。
假若 auditd 并未运行,信息将会被写进 /var/log/messages。
SELinux 的日志都被标签有 AVC 这个关键字,方便它们从其它信息中过滤出来。

由 CentOS 5 起,可以用 SELinux 排除疑难工具协助你分析日志档,将它们转换为供人阅读的格式。

该工具包含一个以可读格式显示信息及解决方案的图像界面、一个桌面通报图示、与及一个长驻进程(setroubleshootd),它负责查阅新的 SELinux AVC 警告并传送至通报图示(不运行 X 服务器的话可设置以电邮通报)。SELinux 排除疑难工具是由 setroubleshoot 组件所提供,并缺省会被安装。
该工具可以从「系统」选单或命令行引导:
 

复制代码代码示例:
sealert -b

未运行 X 服务器朋友,可以通过命令行产生易于阅读的报告文档,如下:
 

复制代码代码示例:
sealert -a /var/log/audit/audit.log > /path/to/mylogfile.txt
(责任编辑:IT)