总有一天,SELinux会阻止你访问你需要的东西,你得解决这个问题。SELinux拒绝访问文件、进程或资源有几个基本原因:
1个文件被错误标记。
两个进程正在错误的SELinux安全上下文下运行。
3政策错误。一个进程在编写策略时需要访问一个意外的文件,将会生成一条错误消息。
四次试图入侵。
我们可以处理前三种情况,第四种是预期表现。
首先安装setroubleshoot组件。有消息称默认安装,但在我的centos5.5上没有。
yum安装setroubleshoot
日志是故障排除的关键,SELinux也不例外。SELinux通过Linux审计系统(auditd)默认将日志写入/var/log/audit/audit.log,默认开启该服务。如果auditd没有运行,信息将被写入/var/log/messages。SELinux日志标有关键字AVC,这样就可以从其他信息中过滤出来。
从CentOS 5开始,您可以使用SELinux故障排除工具来帮助您分析日志文件,并将它们转换为人类可读的格式。这个工具包括一个以可读格式显示信息和解决方案的图像界面,一个桌面通知图标,还有一个setroubleshootd,负责检查新的SELinux AVC警告并发送给通知图标(如果不运行X server,可以设置为邮件通知)。SELinux故障排除工具由setrobush组件提供,默认情况下安装。该工具可以从系统菜单或命令行启动:
西勒特-b
不运行X服务器的人可以生成报告,供人们通过命令行阅读:
sealert-a/var/log/audit/audit . log/path/to/my log file . txt