第 11 章 故障排除


下面的章节描述了 SELinux 拒绝访问时发生的情况;前三个问题的原因;在哪里可以找到有关正确标记的信息;分析 SELinux 拒绝;以及使用 audit2allow 创建自定义策略模块。

11.1. 拒绝访问时的 Happens

SELinux 决策(如允许或禁止访问)会被缓存。这个缓存被称为 Access Vector Cache(AVC)。当 SELinux 拒绝访问时,会记录拒绝消息。这些拒绝也称为 "AVC 拒绝",并记录到不同的位置,具体取决于正在运行的守护进程:
Daemon: auditd on
日志位置: /var/log/audit/audit.log
Daemon: auditd off; rsyslogd on
日志位置: /var/log/messages
Daemon: setroubleshootd、rsyslogd 和 auditd on
日志位置: /var/log/audit/audit.log.更易读的拒绝信息也会发送到 /var/log/messages
如果您正在运行 X Window 系统,则安装了 setroubleshootsetroubleshoot-server 软件包,并且 setroubleshootdauditd 守护进程正在运行,则 SELinux 拒绝访问时会显示一个警告:
单击 Show 可详细分析 SELinux 拒绝访问的原因,以及允许访问的可能的解决方案。如果您没有运行 X Window 系统,SELinux 拒绝访问就不太明显。例如,浏览网站的用户可能会收到类似如下的错误:
Forbidden

You don't have permission to access file name on this server
对于这些情况,如果 DAC 规则(标准 Linux 权限)允许访问,请分别检查 /var/log/messages/var/log/audit/audit.log"SELinux 阻止""denied" 错误。这可以通过以 root 用户身份运行以下命令来完成:
~]# grep "SELinux is preventing" /var/log/messages
~]# grep "denied" /var/log/audit/audit.log
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.